------- Comment #17 from ebotcazou at gcc dot gnu dot org 2008-09-02 13:26
-------
> The offset against %esp should be the same.
Actually it should be adjusted to the value of %esp:
rebuild_cgraph_edges:
pushl %ebp
pushl %edi
pushl %esi
pushl %ebx
subl $56, %esp
pushl current_function_decl
call cgraph_node
movl %eax, 32(%esp)
[...]
.L21:
movl 48(%esp), %eax
call initialize_inline_failed
movl 48(%esp), %edx
cmpl $0, 76(%edx)
jne .L53
addl $44, %esp
xorl %eax, %eax
popl %ebx
popl %esi
popl %edi
popl %ebp
ret
so 16(%esp) instead of 48(%esp) if the stack adjustments are correct.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37296