Re: BUG: GCC-4.4.x changes the function frame on some functions

From: Thomas Gleixner
Date: Thu Nov 19 2009 - 11:08:44 EST


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


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/