[Bug middle-end/41729] New: Undefined reference with -fPIC -fwhole-program -flto

rguenth at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Fri Oct 16 13:01:00 GMT 2009


extern "C" {
    extern int printf (__const char *__restrict __format, ...);
}
class cException { };
class TCmdenvApp {
public:
    virtual int run();
};
int TCmdenvApp::run() 
{
  try {
      printf("\nPreparing for Run #%d...\n", 1);
  }
  catch (cException *e) {
  }
}
int main()
{
  TCmdenvApp app;
  app.run();
}

> ./g++ -B. -B ../x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs cmdenv.3.ii -flto -fwhole-program -fPIC
/tmp/ccc2e3Uh.lto.o:(.gcc_except_table+0x10): undefined reference to `.LDFCM0'
collect2: ld returned 1 exit status

works without either of -flto, -fwhole-program or -fPIC.

It looks like .LDFCM0 is privatized on read-in to .LDFCM0.1932 in
lto_set_decl_assembler_name but dwarf2out does not compensate for that?


-- 
           Summary: Undefined reference with -fPIC -fwhole-program -flto
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Keywords: lto
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rguenth at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41729



More information about the Gcc-bugs mailing list