http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46790
Summary: [4.6 regression] EH failures in libstdc++ testsuite
with --gc-sections and GNU ld 2.18
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Keywords: wrong-code
Severity: major
Priority: P3
Component: middle-end
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected]
Target: x86_64-unknown-linux-gnu
Starting with r167085, test runs on gcc10.fsffrance.org have had a bunch of
failures in the libstdc++ testsuite; the testcases fail with calls to
terminate() because exceptions are not handled properly. This seems to be due
to .gcc_except_table being thrown away by --gc-sections, which in turn seems to
be due to the change in the name of text subsections; .text.startup.main no
longer matches .gcc_except_table.main, so the heuristic that ld 2.18 uses to
keep .gcc_except_table hunks breaks.
One test that fails is 18_support/uncaught_exception/14026.cc.