Re: [Bug lto/47188] Undefined reference errors when combining IR and non-IR object files

2011-01-06 Thread Jan Hubicka
This is driver bug.  With -flto-partition=none it for whatever reason forgets 
about -fresolution:

 ../lto1 -quiet -dumpdir ./ -dumpbase prog -mtune=generic -march=x86-64 
-auxbase-strip /tmp/cctgIO6R.lto.o -version -flto-partition=none 
-fuse-linker-plugin -fwhole-program -fdump-ipa-all-details @/tmp/ccpDD04R -o 
foo.s 


Re: [Bug lto/47188] Undefined reference errors when combining IR and non-IR object files

2011-01-06 Thread Jan Hubicka
The problem is that collect2 should be in LTO_MODE_NONE when plugin is used but
it confuses itself and sets itself into LTO_MODE_LTO. Consequently compilation
is done twice, once correctly with plugin and then once again with collect2
path. 

I am testing the attached patch.  It will also make non-WHOPR mode twice as 
fast ;))

Honza

Index: collect2.c
===
--- collect2.c  (revision 168508)
+++ collect2.c  (working copy)
@@ -1236,7 +1236,7 @@ main (int argc, char **argv)
 #endif
   }
 vflag = debug;
-if (no_partition)
+if (no_partition  lto_mode == LTO_MODE_WHOPR)
   lto_mode = LTO_MODE_LTO;
   }