FreeBSD ABI?

Kostik Belousov kostikbel at gmail.com
Tue Feb 22 10:12:22 UTC 2011


On Mon, Feb 21, 2011 at 03:58:32PM -0800, Yuri wrote:
> On 02/21/2011 15:38, Joerg Sonnenberger wrote:
> >That's a major difference. The Linux people decided a while ago that
> >stack alignment should be 16 Byte. GCC effectively forces that down
> >everyone's throat because until at least GCC 4.2 or 4.3, it can't
> >correctly realign the stack and just fails miserable. I would be
> >surprised if it was a conscious decision for the Solaris either.
> >   
> 
> I filed gcc PR asking gcc to revert their behavior back to prescribed by 
> documentation: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47842

The i386 ABI was de-facto changed to require 16-byte stack alignment.
The change is reasonable, both due to modern CPU cache behaviour,
and to not put a block on the usage of the new CPU features (SSE
instructions sets).

There was a combination of bugs in gcc/glibc/bsd libc etc that made
this not a reliable feature. I think there is no point of moving back
to 4-byte alignment.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20110222/5ff13ef7/attachment.pgp


More information about the freebsd-hackers mailing list