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: [email protected]
ReportedBy: [email protected]
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.