http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47891
--- Comment #2 from Dongsheng Song <dongsheng.song at gmail dot com> 2011-02-25 03:06:01 UTC --- This issues only in 32bit, 64bit is fine: $ i686-w64-mingw32-gcc -m64 -g -flto -o hello.c.64bit.lto.exe Hello.c $ i686-w64-mingw32-objdump -d hello.c.64bit.lto.exe 00000000004029c0 <main>: 4029c0: 55 push %rbp 4029c1: 48 89 e5 mov %rsp,%rbp 4029c4: 48 83 ec 20 sub $0x20,%rsp 4029c8: e8 13 f8 ff ff callq 4021e0 <__main> 4029cd: 48 8d 0d bc 18 00 00 lea 0x18bc(%rip),%rcx # 404290 <.rdata> 4029d4: e8 17 00 00 00 callq 4029f0 <puts> 4029d9: b8 00 00 00 00 mov $0x0,%eax 4029de: 48 83 c4 20 add $0x20,%rsp 4029e2: 5d pop %rbp 4029e3: c3 retq 4029e4: 90 nop 4029e5: 90 nop 4029e6: 90 nop $ i686-w64-mingw32-gcc -m64 -g -o hello.c.64bit.exe Hello.c $ i686-w64-mingw32-objdump -d hello.c.64bit.exe 00000000004015c0 <main>: 4015c0: 55 push %rbp 4015c1: 48 89 e5 mov %rsp,%rbp 4015c4: 48 83 ec 20 sub $0x20,%rsp 4015c8: e8 43 0c 00 00 callq 402210 <__main> 4015cd: 48 8d 0d ac 2a 00 00 lea 0x2aac(%rip),%rcx # 404080 <.rdata> 4015d4: e8 c7 12 00 00 callq 4028a0 <puts> 4015d9: b8 00 00 00 00 mov $0x0,%eax 4015de: 48 83 c4 20 add $0x20,%rsp 4015e2: 5d pop %rbp 4015e3: c3 retq 4015e4: 90 nop 4015e5: 90 nop 4015e6: 90 nop