On Thu, 19 Nov 2009, Andrew Haley wrote: > Thomas Gleixner wrote: > > There is no real obvious reason why the edi magic needs to be done > > _before_ > > > > push %ebp > > mov %esp,%ebp > > Sure there is: unless you do the adjustment first %ebp won't be 16-aligned.
And why is this not done in 99% of the functions in the kernel, just in this one and some random others ? > We're aligning the stack properly, as per the ABI requirements. Can't > you just fix the tracer? Where is that ABI requirement that push %ebp needs to happen on an aligned stack ? And why is this something GCC did not care about until GCC4.4 ? Thanks, tglx