https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89255
--- Comment #3 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> --- > --- Comment #2 from Iain Buclaw <ibuclaw at gdcproject dot org> --- [...] > I posted this to gcc-patches in three parts, it would be good if you can test > it on solaris before I commit. Sure: I meant to do so once I saw it on gcc-patches. I've start just with the symptoms to get an initial report out, before digging deeper. I've bootstrapped with the patch on both x86_64-pc-linux-gnu and i386-pc-solaris2.11 (Solaris 11.5 Beta, which includes dlpi_tls_modid, so giving the best possible results), both 32 and 64-bit each. * On Linux/x86_64, I see a few failures on i686: Running target unix/-m32 FAIL: ../libdruntime/core/thread.d -fversion=Shared -shared-libphobos (test for excess errors) Excess errors: /vol/gcc/bin/gld-2.32: warning: type and size of dynamic symbol `fiber_switchContext' are not defined FAIL: ../libdruntime/core/thread.d -fversion=Shared -shared-libphobos execution test WARNING: ../src/std/net/curl.d -fversion=Shared -shared-libphobos execution test program timed out. FAIL: ../src/std/net/curl.d -fversion=Shared -shared-libphobos execution test WARNING: ../src/std/parallelism.d -fversion=Shared -shared-libphobos execution test program timed out. FAIL: ../src/std/parallelism.d -fversion=Shared -shared-libphobos execution test Those are PR d/89254, where the first had been fixed already in the old setup. The std.parallelism one may be related to the fact that I'm running the bootstrap on an 8-socket system with 10 cores each and hyperthreading, i.e. 160 cores. Those two are especially unfortunate since they hang indefinitely until I manually kill them, thus always require manual intervention. * On Solaris 11/x86, results are not too bad: === libphobos tests === Running target unix FAIL: ../libdruntime/core/sync/mutex.d -fversion=Shared -shared-libphobos execution test This one existed before: core.exception.AssertError@/vol/gcc/src/hg/trunk/local/libphobos/testsuite/../libdruntime/core/sync/mutex.d(381): unittest failure FAIL: ../libdruntime/core/thread.d -fversion=Shared -shared-libphobos (test for excess errors) Excess errors: warning: Text relocation remains referenced against symbol offset in file fiber_switchContext 0x4505 /var/tmp//ccYMWL0c.o fiber_switchContext 0x4b98 /var/tmp//ccYMWL0c.o This code should be compiled with -fpic/-fPIC to avoid this. FAIL: ../libdruntime/rt/minfo.d -fversion=Shared -shared-libphobos execution test No indication in the logs what happened. FAIL: ../src/std/base64.d -fversion=Shared -shared-libphobos (test for excess errors) Excess errors: ld: warning: symbol '_D3std8internal7cstring23__T11tempCStringTaTAyaZ11tempCStringFAyaZ3Res6__initZ' has differing sizes: (file /var/tmp//ccN7CxXc.o value=0x18; file /var/gcc/regression/trunk/11.5-gcc-gas/build/i386-pc-solaris2.11/libphobos/src/.libs/libgphobos.so value=0x108); /var/tmp//ccN7CxXc.o definition taken There are several more testcases affected by this issue, all involving one of std.internal.cstring.tempCString!(char, const(char)[]).tempCString(const(char)[]).Res std.internal.cstring.tempCString!(char, const(char)[]).tempCString(const(char)[]).Res std.internal.cstring.tempCString!(char, immutable(char)[]).tempCString(immutable(char)[]).Res std.internal.cstring.tempCString!(char, immutable(char)[]).tempCString(immutable(char)[]).Res std.internal.cstring.tempCString!(char, inout(char)[]).tempCString(inout(char)[]).Res std.internal.cstring.tempCString!(char, inout(char)[]).tempCString(inout(char)[]).Res AFAIK there's no way to disable this warning. FAIL: ../src/std/datetime/systime.d -fversion=Shared -shared-libphobos execution test core.exception.AssertError@/vol/gcc/src/hg/trunk/local/libphobos/testsuite/../src/std/datetime/systime.d(732): Value given: -1998-Jan-01 01:59:59 FAIL: ../src/std/datetime/timezone.d -fversion=Shared -shared-libphobos (test for excess errors) Excess errors: /vol/gcc/src/hg/trunk/local/libphobos/testsuite/../src/std/datetime/timezone.d:299: error: static assert "The location of the UTC timezone file on this Posix platform must be set." UNRESOLVED: ../src/std/datetime/timezone.d -fversion=Shared -shared-libphobos compilation failed to produce executable FAIL: ../src/std/experimental/allocator/building_blocks/stats_collector.d -fversion=Shared -shared-libphobos (test for excess errors) FAIL: ../src/std/experimental/logger/core.d -fversion=Shared -shared-libphobos (test for excess errors) FAIL: ../src/std/experimental/logger/filelogger.d -fversion=Shared -shared-libphobos (test for excess errors) FAIL: ../src/std/experimental/logger/filelogger.d -fversion=Shared -shared-libphobos execution test FAIL: ../src/std/experimental/logger/multilogger.d -fversion=Shared -shared-libphobos (test for excess errors) FAIL: ../src/std/file.d -fversion=Shared -shared-libphobos (test for excess errors) FAIL: ../src/std/file.d -fversion=Shared -shared-libphobos execution test core.exception.AssertError@/vol/gcc/src/hg/trunk/local/libphobos/testsuite/../src/std/file.d(1040): unittest failure FAIL: ../src/std/format.d -fversion=Shared -shared-libphobos execution test core.exception.AssertError@/vol/gcc/src/hg/trunk/local/libphobos/testsuite/../src/std/format.d(4288): unittest failure FAIL: ../src/std/internal/cstring.d -fversion=Shared -shared-libphobos (test for excess errors) FAIL: ../src/std/math.d -fversion=Shared -shared-libphobos execution test no hint in log FAIL: ../src/std/mmfile.d -fversion=Shared -shared-libphobos (test for excess errors) FAIL: ../src/std/net/curl.d -fversion=Shared -shared-libphobos (test for excess errors) WARNING: ../src/std/net/curl.d -fversion=Shared -shared-libphobos execution test program timed out. FAIL: ../src/std/net/curl.d -fversion=Shared -shared-libphobos execution test FAIL: ../src/std/parallelism.d -fversion=Shared -shared-libphobos (test for excess errors) FAIL: ../src/std/parallelism.d -fversion=Shared -shared-libphobos execution test core.exception.AssertError@/vol/gcc/src/hg/trunk/local/libphobos/testsuite/../src/std/parallelism.d(3955): unittest failure FAIL: ../src/std/process.d -fversion=Shared -shared-libphobos (test for excess errors) FAIL: ../src/std/process.d -fversion=Shared -shared-libphobos execution test /vol/gcc/src/hg/trunk/local/libphobos/testsuite/../src/std/process.d:1027: Warning: Couldn't find any way to check open files core.exception.RangeError@/vol/gcc/src/hg/trunk/local/libphobos/src/std/file.d(3096): Range violation FAIL: ../src/std/range/package.d -fversion=Shared -shared-libphobos (test for excess errors) FAIL: ../src/std/socket.d -fversion=Shared -shared-libphobos (test for excess errors) FAIL: ../src/std/stdio.d -fversion=Shared -shared-libphobos (test for excess errors) FAIL: ../src/std/stdio.d -fversion=Shared -shared-libphobos execution test std.exception.ErrnoException@/vol/gcc/src/hg/trunk/local/libphobos/testsuite/../src/std/stdio.d(1028): Could not seek in file `/tmp/deleteme.dmd.unittest.pid16148-детка.stdio.d.1037' (Invalid argument) FAIL: ../src/std/zip.d -fversion=Shared -shared-libphobos (test for excess errors) FAIL: ../src/std/zip.d -fversion=Shared -shared-libphobos execution test core.exception.RangeError@/vol/gcc/src/hg/trunk/local/libphobos/src/std/file.d(3096): Range violation FAIL: libphobos.shared/finalize.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/finalize.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/finalize.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/finalize.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/finalize.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/finalize.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/finalize.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/finalize.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/finalize.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/finalize.d -shared-libphobos -ldl execution test compilation is run 10 times in exactly the same way!? FAIL: libphobos.shared/linkD.c lib.so -ldl -pthread execution test FAIL: libphobos.shared/linkD.c lib.so -ldl -pthread execution test FAIL: libphobos.shared/linkD.c lib.so -ldl -pthread execution test FAIL: libphobos.shared/linkD.c lib.so -ldl -pthread execution test FAIL: libphobos.shared/linkD.c lib.so -ldl -pthread execution test FAIL: libphobos.shared/linkD.c lib.so -ldl -pthread execution test FAIL: libphobos.shared/linkD.c lib.so -ldl -pthread execution test FAIL: libphobos.shared/linkD.c lib.so -ldl -pthread execution test FAIL: libphobos.shared/linkD.c lib.so -ldl -pthread execution test FAIL: libphobos.shared/linkD.c lib.so -ldl -pthread execution test FAIL: libphobos.shared/load.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load.d -shared-libphobos -ldl execution test core.exception.AssertError@/vol/gcc/src/hg/trunk/local/libphobos/testsuite/libphobos.shared/load.d(147): Assertion failure preexisting FAIL: libphobos.shared/load_13414.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load_13414.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load_13414.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load_13414.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load_13414.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load_13414.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load_13414.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load_13414.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load_13414.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load_13414.d -shared-libphobos -ldl execution test core.exception.AssertError@/vol/gcc/src/hg/trunk/local/libphobos/testsuite/libphobos.shared/load_13414.d(20): Assertion failure preexisting === libphobos Summary for unix === # of expected passes 780 # of unexpected failures 69 # of unresolved testcases 1 Running target unix/-m64 FAIL: ../libdruntime/core/sync/mutex.d -fversion=Shared -shared-libphobos execution test FAIL: ../libdruntime/rt/minfo.d -fversion=Shared -shared-libphobos execution test FAIL: ../src/std/base64.d -fversion=Shared -shared-libphobos (test for excess errors) FAIL: ../src/std/datetime/systime.d -fversion=Shared -shared-libphobos execution test FAIL: ../src/std/datetime/timezone.d -fversion=Shared -shared-libphobos (test for excess errors) UNRESOLVED: ../src/std/datetime/timezone.d -fversion=Shared -shared-libphobos compilation failed to produce executable FAIL: ../src/std/experimental/allocator/building_blocks/stats_collector.d -fversion=Shared -shared-libphobos (test for excess errors) FAIL: ../src/std/experimental/logger/core.d -fversion=Shared -shared-libphobos (test for excess errors) FAIL: ../src/std/experimental/logger/filelogger.d -fversion=Shared -shared-libphobos (test for excess errors) FAIL: ../src/std/experimental/logger/filelogger.d -fversion=Shared -shared-libphobos execution test core.exception.RangeError@/vol/gcc/src/hg/trunk/local/libphobos/src/std/file.d(3096): Range violation FAIL: ../src/std/experimental/logger/multilogger.d -fversion=Shared -shared-libphobos (test for excess errors) FAIL: ../src/std/file.d -fversion=Shared -shared-libphobos (test for excess errors) FAIL: ../src/std/file.d -fversion=Shared -shared-libphobos execution test FAIL: ../src/std/format.d -fversion=Shared -shared-libphobos execution test FAIL: ../src/std/internal/cstring.d -fversion=Shared -shared-libphobos (test for excess errors) FAIL: ../src/std/math.d -fversion=Shared -shared-libphobos execution test FAIL: ../src/std/mmfile.d -fversion=Shared -shared-libphobos (test for excess errors) FAIL: ../src/std/net/curl.d -fversion=Shared -shared-libphobos (test for excess errors) FAIL: ../src/std/parallelism.d -fversion=Shared -shared-libphobos (test for excess errors) FAIL: ../src/std/parallelism.d -fversion=Shared -shared-libphobos execution test FAIL: ../src/std/process.d -fversion=Shared -shared-libphobos (test for excess errors) FAIL: ../src/std/process.d -fversion=Shared -shared-libphobos execution test FAIL: ../src/std/range/package.d -fversion=Shared -shared-libphobos (test for excess errors) FAIL: ../src/std/socket.d -fversion=Shared -shared-libphobos (test for excess errors) FAIL: ../src/std/stdio.d -fversion=Shared -shared-libphobos (test for excess errors) FAIL: ../src/std/zip.d -fversion=Shared -shared-libphobos (test for excess errors) FAIL: ../src/std/zip.d -fversion=Shared -shared-libphobos execution test FAIL: libphobos.shared/finalize.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/finalize.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/finalize.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/finalize.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/finalize.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/finalize.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/finalize.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/finalize.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/finalize.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/finalize.d -shared-libphobos -ldl execution test core.exception.AssertError@/vol/gcc/src/hg/trunk/local/libphobos/testsuite/libphobos.shared/finalize.d(58): Assertion failure FAIL: libphobos.shared/linkD.c lib.so -ldl -pthread execution test FAIL: libphobos.shared/linkD.c lib.so -ldl -pthread execution test FAIL: libphobos.shared/linkD.c lib.so -ldl -pthread execution test FAIL: libphobos.shared/linkD.c lib.so -ldl -pthread execution test FAIL: libphobos.shared/linkD.c lib.so -ldl -pthread execution test FAIL: libphobos.shared/linkD.c lib.so -ldl -pthread execution test FAIL: libphobos.shared/linkD.c lib.so -ldl -pthread execution test FAIL: libphobos.shared/linkD.c lib.so -ldl -pthread execution test FAIL: libphobos.shared/linkD.c lib.so -ldl -pthread execution test FAIL: libphobos.shared/linkD.c lib.so -ldl -pthread execution test preexisting FAIL: libphobos.shared/load.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load.d -shared-libphobos -ldl execution test core.exception.AssertError@/vol/gcc/src/hg/trunk/local/libphobos/testsuite/libphobos.shared/load.d(147): Assertion failure preexisting FAIL: libphobos.shared/load_13414.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load_13414.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load_13414.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load_13414.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load_13414.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load_13414.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load_13414.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load_13414.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load_13414.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load_13414.d -shared-libphobos -ldl execution test core.exception.AssertError@/vol/gcc/src/hg/trunk/local/libphobos/testsuite/libphobos.shared/load_13414.d(20): Assertion failure preexisting === libphobos Summary for unix/-m64 === # of expected passes 783 # of unexpected failures 66 # of unresolved testcases 1 === libphobos Summary === # of expected passes 1563 # of unexpected failures 135 # of unresolved testcases 2