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 <[email protected]>
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.