Jakub Jelinek writes:
On Mon, Dec 19, 2005 at 04:34:33PM +0000, Andrew Haley wrote:
> Looking further, I realize that my analysis is quite wrong. The "push
> %eax" is promptly followed by "pop %ebx", so a CFA offset of 12 is
> correct. D'oh!
>
> This is what comes of doing my thinking in public... Still, I have
> discovered this problem is tune=i386 specific. I'll continue looking.
>
>
> 00a326a8 <java.lang.Throwable.Throwable(java.lang.String)>:
> a326a8: 56 push %esi
> a326a9: 53 push %ebx
> a326aa: 50 push %eax
> a326ab: e8 00 00 00 00 call a326b0
<java.lang.Throwable.Throwable(java.lang.String)+0x8>
> a326b0: 5b pop %ebx
Well, call here does the push and pop %ebx pops it. So this sequence
still decreases %esp by 12 bytes.
Yeah -- I was right first time. I think I'm going to keep quiet 'til
I've solved the problem! :-)
Andrew.