I didn't try to compile each module separately, but here's the patch to
the makefile splitting the compilation into two parts to bring the
unittests back to live. (Though I was hoping that the occurrence of this
nasty bug with the phobos unittests would have encouraged Walter to fix
it in the linker... ;-) )
Rainer
Shin Fujishiro wrote:
Then, could anyone refactor win32.mak so that each module's tests run
individually like posix.mak? I can't write/test digitalmars' makefile.
Shin
Rainer Schuetze <[email protected]> wrote:
Yes, it's reproducible, but the effect can vary easily by
adding/removing symbols to/from the object file. I get "access
violation" or "Win32 exception" after an update.
The latest svn revision produces 16784 symbols causing any symbols above
16384 to be relocated as the first symbols in the object file. See
http://d.puremagic.com/issues/show_bug.cgi?id=3372
A workaround is to split the compilation into two steps producing
smaller object files.
Rainer
Brad Roberts wrote:
I just updated that auto-tester to the 8.00.8 version of link.exe (I'd moved
stuff around and reverted to the .5 version that comes with the dmc.zip that I
have been using accidentally). Run 900 and beyond use .8, but it doesn't help
with this bug.
Is anyone else able to reproduce this?
Later,
Brad
On 9/26/2010 4:42 AM, SHOO wrote:
Maybe, this problem is caused by OPTLINK.
See also: http://d.puremagic.com/issues/show_bug.cgi?id=4904
(2010/09/26 17:40), Brad Roberts wrote:
The automated win32 phobos tests started failing at the 22:20 test run. Linux
is fine still.
The error:
http://d.puremagic.com/test-results/test_data.ghtml?dataid=5766
unittest
object.Error: Privileged Instruction
The changes between this run and the previously successful run:
http://www.dsource.org/projects/dmd/changeset/689
http://www.dsource.org/projects/phobos/changeset/2049
Later,
Brad
Index: win32.mak
===================================================================
--- win32.mak (revision 2051)
+++ win32.mak (working copy)
@@ -98,7 +98,7 @@
# ti_bit.obj ti_Abit.obj
-SRCS= std\math.d std\stdio.d std\dateparse.d std\date.d std\datetime.d \
+SRCS_1 = std\math.d std\stdio.d std\dateparse.d std\date.d std\datetime.d \
std\uni.d std\string.d std\base64.d std\md5.d std\xml.d std\bigint.d \
std\regexp.d std\compiler.d std\cpuid.d std\format.d std\demangle.d \
std\path.d std\file.d std\outbuffer.d std\utf.d std\uri.d \
@@ -114,7 +114,10 @@
std\intrinsic.d \
std\process.d \
std\system.d \
- std\encoding.d std\variant.d \
+ std\encoding.d
+
+SRCS_2 = \
+ std\variant.d \
std\stream.d std\socket.d std\socketstream.d \
std\perf.d std\container.d std\conv.d \
std\zip.d std\cstream.d std\loader.d \
@@ -144,8 +147,8 @@
std\windows\registry.d \
std\windows\syserror.d
+SRCS = $(SRCS_1) $(SRCS_2)
-
DOCS= $(DOC)\object.html \
$(DOC)\core_atomic.html \
$(DOC)\core_bitop.html \
@@ -327,7 +330,8 @@
etc\c\zlib\zlib.lib $(DRUNTIMELIB)
unittest : $(SRCS) phobos.lib
- $(DMD) $(UDFLAGS) -L/co -unittest unittest.d $(SRCS) phobos.lib
+ $(DMD) $(UDFLAGS) -L/co -c -unittest -ofunittest1.obj $(SRCS_1)
+ $(DMD) $(UDFLAGS) -L/co -unittest unittest.d $(SRCS_2) unittest1.obj
$(DRUNTIMELIB)
unittest
#unittest : unittest.exe
_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos