https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99812
Bug ID: 99812 Summary: [11 regression] Many libphobos.druntime_shared etc. tests FAIL Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: d Assignee: ibuclaw at gdcproject dot org Reporter: ro at gcc dot gnu.org Target Milestone: --- Target: *-*-solaris2.11 Between 20210326 (6081d8994ed1a0aef6b7f5fb34f091faa3580416) and 20210328 (d21001c793e97d88013d05226a8ea93a149726b1), many libphobos tests started to FAIL: +FAIL: libphobos.druntime_shared/core/atomic.d (test for excess errors) +FAIL: libphobos.druntime_shared/core/sync/barrier.d (test for excess errors) +FAIL: libphobos.druntime_shared/core/sync/condition.d (test for excess errors) +FAIL: libphobos.druntime_shared/core/sync/mutex.d (test for excess errors) +FAIL: libphobos.druntime_shared/core/sync/rwmutex.d (test for excess errors) +FAIL: libphobos.druntime_shared/core/sync/semaphore.d (test for excess errors) +FAIL: libphobos.druntime_shared/core/thread/fiber.d (test for excess errors) +FAIL: libphobos.druntime_shared/core/thread/osthread.d (test for excess errors) +FAIL: libphobos.druntime_shared/core/time.d (test for excess errors) +FAIL: libphobos.phobos_shared/std/algorithm/comparison.d (test for excess errors) +FAIL: libphobos.phobos_shared/std/algorithm/iteration.d (test for excess errors) +FAIL: libphobos.phobos_shared/std/algorithm/mutation.d (test for excess errors) +FAIL: libphobos.phobos_shared/std/base64.d (test for excess errors) +FAIL: libphobos.phobos_shared/std/concurrency.d (test for excess errors) +FAIL: libphobos.phobos_shared/std/conv.d (test for excess errors) +FAIL: libphobos.phobos_shared/std/datetime/date.d (test for excess errors) +FAIL: libphobos.phobos_shared/std/datetime/interval.d (test for excess errors) +FAIL: libphobos.phobos_shared/std/datetime/stopwatch.d (test for excess errors) +FAIL: libphobos.phobos_shared/std/datetime/systime.d (test for excess errors) +FAIL: libphobos.phobos_shared/std/experimental/allocator/building_blocks/free_list.d (test for excess errors) +FAIL: libphobos.phobos_shared/std/experimental/allocator/building_blocks/stats_collector.d (test for excess errors) +FAIL: libphobos.phobos_shared/std/experimental/allocator/package.d (test for excess errors) +FAIL: libphobos.phobos_shared/std/experimental/logger/core.d (test for excess errors) +FAIL: libphobos.phobos_shared/std/experimental/logger/filelogger.d (test for excess errors) FAIL: libphobos.phobos_shared/std/experimental/logger/filelogger.d execution test +FAIL: libphobos.phobos_shared/std/experimental/logger/multilogger.d (test for excess errors) +FAIL: libphobos.phobos_shared/std/experimental/logger/multilogger.d (test for excess errors) +FAIL: libphobos.phobos_shared/std/experimental/logger/nulllogger.d (test for excess errors) +FAIL: libphobos.phobos_shared/std/file.d (test for excess errors) +FAIL: libphobos.phobos_shared/std/mmfile.d (test for excess errors) +FAIL: libphobos.phobos_shared/std/net/curl.d (test for excess errors) +FAIL: libphobos.phobos_shared/std/numeric.d (test for excess errors) +FAIL: libphobos.phobos_shared/std/parallelism.d (test for excess errors) +FAIL: libphobos.phobos_shared/std/path.d (test for excess errors) +FAIL: libphobos.phobos_shared/std/process.d (test for excess errors) +FAIL: libphobos.phobos_shared/std/range/package.d (test for excess errors) +FAIL: libphobos.phobos_shared/std/socket.d (test for excess errors) +FAIL: libphobos.phobos_shared/std/stdio.d (test for excess errors) +FAIL: libphobos.phobos_shared/std/traits.d (test for excess errors) +FAIL: libphobos.phobos_shared/std/typecons.d (test for excess errors) +FAIL: libphobos.phobos_shared/std/zip.d (test for excess errors) The failures happen on both Solaris/SPARC and x86, 32 and 64-bit. The error is always of the same kind: +FAIL: libphobos.druntime_shared/core/atomic.d (test for excess errors) Excess errors: ld: warning: symbol '_D4core6atomic12__ModuleInfoZ' has differing sizes: (file /var/tmp//cchXf0Ca.o value=0x1c; file /var/gcc/regression/master/11.4-gcc-gas/build/sparc-sun-solaris2.11/libphobos/src/.libs/libgphobos.so value=0x14); /var/tmp//cchXf0Ca.o definition taken This is caused by commit fdfcb5353cc2b06fc80205cfcb3bc5ba25556264 Author: Iain Buclaw <ibuc...@gdcproject.org> Date: Fri Mar 26 15:46:24 2021 +0100 libphobos: Build all modules with -fversion=Shared when configured with --enable-shared which dropped -fno-moduleinfo in both libphobos.druntime_shared/druntime_shared.exp and libphobos.phobos_shared/phobos_shared.exp. I've spot-checked that manually rebuilding a failing testcase with -fno-moduleinfo added back both avoids the linker warning and lets the test execute successfully.