http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51923
Bug #: 51923 Summary: cxa_atexit test changed outcome with gld 2.22 Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: r...@gcc.gnu.org Host: i386-pc-solaris2* Target: i386-pc-solaris2* Build: i386-pc-solaris2* When I switched from gld 2.21.1 to 2.22 on Solaris/x86, I suddenly got a couple of new testsuite failures: FAIL: g++.dg/init/cleanup3.C scan-assembler-not _tcf FAIL: g++.dg/init/cleanup3.C scan-assembler-not _tcf FAIL: g++.old-deja/g++.other/init5.C -std=c++98 execution test FAIL: g++.old-deja/g++.other/init5.C -std=c++11 execution test The first test was UNSUPPORTED with gld 2.21.1, and now FAILs because Solaris libc doesn't have __cxa_atexit (yet). The second test was PASS: g++.old-deja/g++.other/init5.C (test for excess errors) XFAIL: g++.old-deja/g++.other/init5.C execution test It turns out that the dg-require-effective-target cxa_atexit test in target-supports.exp (check_cxa_atexit_available) suddenly passes when gld 2.22 is in use, while it failed with gld 2.21.1. It seems that almost all tests guarded with cxa_atexit now pass, with the two exceptions above. Rainer