On Mon, Oct 15, 2007 at 08:00:53PM +0200, Andi Kleen wrote: > "Richard Guenther" <[EMAIL PROTECTED]> writes: > > > > The idea is not exactly new, the main complication is that it would need > > hacking both the gcc (and glibc) side and the kernel syscall interface. The > > 32bit compatibility entries cannot be used if you want to align long long > > and > > double naturally (which you certainly want, for performance reasons). > > double is already naturally aligned on i386, just long long isn't.
Actually no. In 32-bit mode, double is aligned on a 4 byte boundary, not an 8 byte boundary, unless you use -malign-double, which breaks the ABI. This has been a 'feature' of the original AT&T 386 System V ABI that Linux uses for 32-bit x86 processors. With the SCO mess, it may be hard to ever change that ABI.... -- Michael Meissner, AMD 90 Central Street, MS 83-29, Boxborough, MA, 01719, USA [EMAIL PROTECTED]