Stack frame question on x86 code generation

Gang-Ryung Uh
Sun Apr 24 15:06:00 GMT 2005

Thank you!
Your explanation helps a lot.

Best regards,

--- Arturas Moskvinas <>
> > This is to make room for the parameters to
> printf(); there are two, and
> > each is a pointer, and hence four bytes, so the
> total space required is
> > eight bytes.
> I think you are not very correct in this part, if
> you write simple
> function which calls function without parameter,
> you'll see that gcc
> is also substract by 8 (12 if you use
> -fomit-frame-pointer). Command
> pushl substracts ESP pointer by 4 itself. So i think
> gcc is trying to
> align variable (and return address) in stack.
> Arturas Moskvinas

Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 

More information about the Gcc-help mailing list