Re: Stack Allocations

From: wwieserat_private
Date: Sat Jul 14 2001 - 07:20:50 PDT

  • Next message: Jarno Huuskonen: "Re: Tripwire temporary files"

    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