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: unassig...@gcc.gnu.org ReportedBy: ja...@gcc.gnu.org CC: hubi...@gcc.gnu.org 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.