> > As a First step I compared the "objump -D" dump between > "stage2-gcc/gimple.o" and "stage3-gcc/gimple.o". Differences are in > LTO sections .gnu.lto_.decls.0, .gnu.lto_.symtab. > Ref: http://paste.ubuntu.com/7949238/
If you see the differences already in .o files (i.e. at compile time), I think the next step is to produce -fdump-tree-all -fdump-ipa-all dumps of stage2-gcc/gimple.o and stage3-gcc/gimple.o and see how they differ. Debugging misoptimization of LTO stage2 compiler will be interesting - I guess we can first try to identify what is wrong rahter than usual bisecting method... Honza > > No differences when when using "objdump -d". > > Next I passed "-save-temps" to stage2 and stage3 builds and compared > the assembly files. The differences are in strings dumped via .ascii > and ,string directives. > > Next I checked the flags passed to the stage 2 and stage 3 builds. It > is same and below is the flag set being passed. > > -save-temps -O2 -g -flto -flto=jobserver -frandom-seed=1 > -ffat-lto-objects -DIN_GCC -fno-exceptions -fno-rtti > -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings > -Wcast-qual -Wmissing-forma t-attribute -pedantic > -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings > > Can you please suggest on how to fix/debug further these comparison > failures in GCC 4.9? > > regards, > Venkat.