On Sun, 2003-05-25 at 03:42, northern snowfall wrote: > >GCC sometimes allocates more memory for each variable on the stack than > >is actually requested. I have no idea exactly why and what is does -- > >but I assume it is some small optimization. > > > FYI, compilers (are supposed to) align memory to the requirement of the > underlying architecture. Most processors will throw an alignment_error > exception if an opcode attempts to pass an unaligned address to it. > This is done simply by padding the stack so that each auto variable is > given a properly aligned memory address. Oh yeah ... true. But isn't this 32-bit on the ia32? GCC 3.x allocates way more than is neccessary to have it aligned. The vulndev-2 buffer of 90 bytes should be 92 right? But gcc allocates 108. Why does it do this extra padding then? Janus -- Janus N. Tøndering <janusat_private>
This archive was generated by hypermail 2b30 : Sat May 24 2003 - 20:40:30 PDT