In gcc 4.5, the stack must be aligned with a 16-byte boundary when calling the function (previous versions only required 4-byte alignment).
The 4-byte option is suitable for a 32-bit machine. 16-byte is easy to align only "and 0xfffffff0,% esp".
But it can cost a lot more memory than a 4-byte border, right? In short, my question is, why is gcc 4.5 taks 16 bytes each by default? Is this valuable?
Thank you so much!
source
share