On Monday 09 July 2001 15:27, msodaat_private wrote: > Hey all, > <snip> > When running 'gcc -S' it shows that 24 bytes are allocated on the stack > for buf[]. I thought it should allocate only 16 bytes. It works fine, it > just makes no sense to me. If I tweak the assembly and change it to 16 > bytes and also change the offsets to %ebp that reference it, it works fine > also. > > Does anyone know why gcc does this? My need to understand everything is > killing me! > It's due to gcc's preferred stack boundary. Seems to be some sort of alignment issue. Simply do a bash# gcc -mpreferred-stack-boundary=2 -S foo.c -o foo.s and you get 16 bytes as expected. wwieser
This archive was generated by hypermail 2b30 : Sat Jul 14 2001 - 11:09:31 PDT