http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46492
Summary: Several C++ LTO testcases fail to link on IRIX 6.5 Product: gcc Version: 4.6.0 Status: UNCONFIRMED Keywords: link-failure, lto Severity: normal Priority: P3 Component: lto AssignedTo: unassig...@gcc.gnu.org ReportedBy: r...@gcc.gnu.org Host: mips-sgi-irix6.5 Target: mips-sgi-irix6.5 Build: mips-sgi-irix6.5 Several C++ testcases fail to link on IRIX 6.5 with LTO, e.g. FAIL: g++.dg/lto/20081109 cp_lto_20081109_0.o-cp_lto_20081109_1.o link, -O0 -flto -flto-partition=none UNRESOLVED: g++.dg/lto/20081109 cp_lto_20081109_0.o-cp_lto_20081109_1.o execute -O0 -flto -flto-partition=none ld32: ERROR 33 : Unresolved data symbol ".LDFCM0" -- 1st referenced by /var/tmp//cc5OGg5s.lto.o. Use linker option -v to see when and which objects, archives and dsos are loaded. ld32: ERROR 33 : Unresolved data symbol ".LDFCM1" -- 1st referenced by /var/tmp//cc5OGg5s.lto.o. Use linker option -v to see when and which objects, archives and dsos are loaded. ld32: INFO 152: Output file removed because of error. collect2: ld returned 2 exit status It turned out that those missing symbols are created by lto1: this invocation reproduces the problem: $ lto1 -quiet -mabi=n32 -O0 -flto-partition=none cp_lto_20081109_0.o -o cp_lto_20081109_0.s It turns out that there are references to .LDFCM[01], but only .LDFCM[01].124[45] are defined.