Date: Tue, 22 Feb 2011 12:12:16 +0200 From: Kostik Belousov <kostikbel@gmail.com> To: Yuri <yuri@rawbw.com> Cc: freebsd-hackers@freebsd.org Subject: Re: FreeBSD ABI? Message-ID: <20110222101216.GZ78089@deviant.kiev.zoral.com.ua> In-Reply-To: <4D62FC28.9040300@rawbw.com> References: <AANLkTi=xLRuiEm_zZNOtnFFUX0_UoqRGq2Fb6ZLS2h%2Bp@mail.gmail.com> <4D62F267.3000706@rawbw.com> <20110221233817.GA4792@britannica.bec.de> <4D62FC28.9040300@rawbw.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--iiKkCP5ouIvP2yCm Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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. > > =20 >=20 > I filed gcc PR asking gcc to revert their behavior back to prescribed by= =20 > documentation: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D47842 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. --iiKkCP5ouIvP2yCm Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (FreeBSD) iEYEARECAAYFAk1jjAAACgkQC3+MBN1Mb4gguACg4cYjUsd8KOW6vwkCkF23sQ9O 0KYAn0oJH3NtGICNHgCjw1UqTEB0oAP7 =jqiR -----END PGP SIGNATURE----- --iiKkCP5ouIvP2yCm--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110222101216.GZ78089>