http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47619
--- Comment #12 from H.J. Lu <hjl.tools at gmail dot com> 2011-02-08 21:31:12 UTC --- (gdb) disass foo Dump of assembler code for function foo: 0x0000000000400ba4 <+0>: lea -0x4108(%rsp),%r11 0x0000000000400bac <+8>: cmp %fs:0x70,%r11 0x0000000000400bb5 <+17>: jae 0x400bc9 <foo+37> 0x0000000000400bb7 <+19>: mov $0x108,%r10d 0x0000000000400bbd <+25>: mov $0x0,%r11d 0x0000000000400bc3 <+31>: callq 0x400c48 <__morestack_non_split> 0x0000000000400bc8 <+36>: retq 0x0000000000400bc9 <+37>: push %rbx 0x0000000000400bca <+38>: sub $0x100,%rsp 0x0000000000400bd1 <+45>: mov %rdi,%rbx 0x0000000000400bd4 <+48>: mov %rsp,%rdx 0x0000000000400bd7 <+51>: mov %rdi,%rsi 0x0000000000400bda <+54>: mov $0x4019e4,%edi 0x0000000000400bdf <+59>: mov $0x0,%eax 0x0000000000400be4 <+64>: callq 0x4009c8 <printf@plt> 0x0000000000400be9 <+69>: mov $0x20,%ecx 0x0000000000400bee <+74>: mov $0x0,%eax 0x0000000000400bf3 <+79>: mov %rsp,%rdi 0x0000000000400bf6 <+82>: rep stos %rax,%es:(%rdi) 0x0000000000400bf9 <+85>: test %rbx,%rbx 0x0000000000400bfc <+88>: jle 0x400c07 <foo+99> 0x0000000000400bfe <+90>: lea -0x1(%rbx),%rdi ---Type <return> to continue, or q <return> to quit--- 0x0000000000400c02 <+94>: callq 0x400ba4 <foo> 0x0000000000400c07 <+99>: add $0x100,%rsp 0x0000000000400c0e <+106>: pop %rbx 0x0000000000400c0f <+107>: retq End of assembler dump. (gdb)