Stack frame question on x86 code generation
Niko Matsakis
niko@alum.mit.edu
Sun Apr 24 09:12:00 GMT 2005
Yes, you're right of course.
Niko
On Apr 24, 2005, at 11:10 AM, Arturas Moskvinas wrote:
>> 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
More information about the Gcc-help
mailing list