http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51181
Bug #: 51181 Summary: [4.7 regression] libstdc++.so __sync_sub_and_fetch_4 linkage error causing many test suite failures on m68k-linux Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: mi...@it.uu.se Some change between 4.7-20111105 and 4.7-20111112 caused massive test suite regressions for C++ code on m68k-linux: --- mail-report-4.7-20111105-0 2011-11-16 22:52:30.000000000 +0100 +++ mail-report-4.7-20111112-0 2011-11-16 22:39:07.000000000 +0100 @@ -1,5 +1,5 @@ -LAST_UPDATED: Obtained from SVN: trunk revision 181017 +LAST_UPDATED: Obtained from SVN: trunk revision 181327 Native configuration is m68k-unknown-linux-gnu ... === g++ Summary === -# of expected passes 26073 -# of unexpected failures 96 -# of expected failures 151 -# of unsupported tests 413 -/mnt/scratch/objdir47/gcc/testsuite/g++/../../g++ version 4.7.0 20111105 (experimental) (GCC) +# of expected passes 36074 +# of unexpected failures 3881 +# of expected failures 277 +# of unresolved testcases 98 +# of unsupported tests 659 +/mnt/scratch/objdir47/gcc/testsuite/g++/../../g++ version 4.7.0 20111112 (experimental) (GCC) ... === libgomp Summary === -# of expected passes 1214 -# of unexpected failures 13 +# of expected passes 272 +# of unexpected failures 478 # of unsupported tests 8 ... === libstdc++ Summary === -# of expected passes 8323 -# of unexpected failures 13 -# of expected failures 46 -# of unsupported tests 249 +# of expected passes 2002 +# of unexpected failures 2582 +# of expected failures 5 +# of unsupported tests 655 -Compiler version: 4.7.0 20111105 (experimental) (GCC) +Compiler version: 4.7.0 20111112 (experimental) (GCC) Platform: m68k-unknown-linux-gnu configure flags: --prefix=/mnt/scratch/install47 --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-languages=c,c++ --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --disable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --disable-sjlj-exceptions --disable-libmudflap --with-gmp=/home/mikpe/pkgs/linux-m68k/gmp-5.0.2 --with-mpfr=/home/mikpe/pkgs/linux-m68k/mpfr-3.0.1 --with-mpc=/home/mikpe/pkgs/linux-m68k/mpc-0.9 --disable-plugin --disable-lto --disable-multilib --disable-build-poststage1-with-cxx BOOT_CFLAGS=-g -O2 Looking in gcc/testsuite/g++/g++.log I see many (more than 11000) undefined references to __sync_sub_and_fetch_4, like this one: Executing on host: /mnt/scratch/objdir47/gcc/testsuite/g++/../../g++ -B/mnt/scratch/objdir47/gcc/testsuite/g++/../../ /mnt/scratch/gcc-4.7-20111112/gcc/testsuite/g++.dg/bprob/g++-bprob-1.C -nostdinc++ -I/mnt/scratch/objdir47/m68k-unknown-linux-gnu/libstdc++-v3/include/m68k-unknown-linux-gnu -I/mnt/scratch/objdir47/m68k-unknown-linux-gnu/libstdc++-v3/include -I/mnt/scratch/gcc-4.7-20111112/libstdc++-v3/libsupc++ -I/mnt/scratch/gcc-4.7-20111112/libstdc++-v3/include/backward -I/mnt/scratch/gcc-4.7-20111112/libstdc++-v3/testsuite/util -fmessage-length=0 -g -fprofile-arcs -L/mnt/scratch/objdir47/m68k-unknown-linux-gnu/./libstdc++-v3/src/.libs -B/mnt/scratch/objdir47/m68k-unknown-linux-gnu/./libstdc++-v3/src/.libs -L/mnt/scratch/objdir47/m68k-unknown-linux-gnu/./libstdc++-v3/src/.libs -lm -o /mnt/scratch/objdir47/gcc/testsuite/g++/g++-bprob-1.x01 (timeout = 300) /mnt/scratch/objdir47/m68k-unknown-linux-gnu/./libstdc++-v3/src/.libs/libstdc++.so: undefined reference to `__sync_sub_and_fetch_4' collect2: error: ld returned 1 exit status Only C++ appears affected, the C test results were on par with last week's.