Plans for Linux ELF "i686+" ABI ? Like SPARC V8+ ?
Andi Kleen
andi@firstfloor.org
Mon Oct 15 22:53:00 GMT 2007
> 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....
My gcc doesn't agree with you (I actually checked before posting)
~> cat t.c
int main(void)
{
double x;
printf("%d\n", __alignof__(x));
return 0;
}
~> gcc -m32 -o t t.c
t.c: In function âmainâ:
t.c:5: warning: incompatible implicit declaration of built-in function âprintfâ
~> ./t
8
~>
-Andi
More information about the Gcc
mailing list