Likely because .gnu.lto_* sections remain in the final executables (like for example cc1-dummy) bootstrap with BOOT_CFLAGS="-O2 -flto -g" BOOT_LDFLAGS="-flto" currently fails at comparing stage2 and stage3.
Comparing stage2 and stage3 cc1-dummy readelf -S output reveals: --- a 2009-08-15 17:25:19.000000000 +0200 +++ b 2009-08-15 17:25:22.000000000 +0200 @@ -1,4 +1,4 @@ -There are 13739 section headers, starting at offset 0x67e1b6c: +There are 13739 section headers, starting at offset 0x67e3424: Section Headers: [Nr] Name Type Addr Off Size ES Flg Lk Inf Al @@ -29,13718 +29,13718 @@ [24] .bss NOBITS 08b090c0 ac00c0 06f6b8 00 WA 0 0 32 [25] .gnu.lto_.referen PROGBITS 00000000 ac00c0 0019c6 00 0 0 4 [26] .gnu.lto_.purecon PROGBITS 00000000 ac1a88 008daa 00 0 0 4 - [27] .gnu.lto_init_adj PROGBITS 00000000 aca834 0005db 00 0 0 4 + [27] .gnu.lto_init_adj PROGBITS 00000000 aca834 0005d9 00 0 0 4 [28] .gnu.lto_.cgraph PROGBITS 00000000 acae10 0eaea1 00 0 0 4 [29] .gnu.lto_.statics PROGBITS 00000000 bb5cb4 002a22 00 0 0 4 - [30] .gnu.lto_.decls PROGBITS 00000000 bb86d8 1ecd2ce 00 0 0 4 (further all is different due to offset and size mismatches) The offset difference of the section headers is odd as well. Program headers are the same. -- Summary: Bootstrap comparison fails, executables contain .gnu.lto_* sections Product: gcc Version: lto Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto 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=41079