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