This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH: PR target/40838: gcc shouldn't assume that the stack is aligned


On Fri, Aug 07, 2009 at 02:54:46AM +0200, Mikulas Patocka wrote:
> > > In 32bit, the incoming stack may not be 16 byte aligned.  This patch
> > > assumes the incoming stack is 4 byte aligned and realigns stack if any
> > > SSE variable is put on stack. Any comments?
> >
> > IMHO this is wrong, I could live with a non-default option for those who 
> > don't care about performance and think a SCO document from 1996 has any 
> > relevance to Linux these days.  In reality a Linux ABI for years assumes 
> > 16 byte stack alignment for 32-bit code.
> 
> Tell me which Linux distribution did you run with 16-byte stack alignment 
> checking (as proposed in bug 40838) and what was the result?
> 
> For me, the result was that 75% of binaries in /bin in Debian Lenny do not 
> align the stack on 16-byte boundary.

Besides the obstack glibc bug which has been fixed since then you haven't
reported anything particular.  It is true that parts of i?86 glibc is
compiled with -mpreferered-stack-boundary=2, but only parts that don't call
callbacks.  Async signals AFAIK will align the stack properly.

I simply don't trust your 75% claim, lots of stuff would break if things
weren't aligned properly.

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]