Allow preferred-stack-boundary of 3 for x86-64

Andi Kleen ak@suse.de
Fri Jul 27 22:33:00 GMT 2007


On Tuesday 24 July 2007 01:05:03 Jan Hubicka wrote:
> Hi,
> Andi Kleen raised point that while x86-64 ABI requires 16byte alignment,
> kernel preffers to save stack psace by 8 byte alignment even though it
> breaks some of features (such as XMM support or variadic arguments of
> types aligned to 16 bytes, such as long double).
> 
> This patch thus makes GCC to tolerate this option and updates
> documentation accrodingly.  I will install it tomorrow if there are no
> complains. Bootstrapped/regtested i686-linux.

I tested the patch now and I get a ICE while compiling the x86_64 linux kernel 
with -mpreferred-stack-boundary=3  and 070727 SVN checkout + patch

/home/lsrc/quilt/linux/init/do_mounts.c: In function 'change_floppy':
/home/lsrc/quilt/linux/init/do_mounts.c:390: internal compiler error: in ix86_compute_frame_layout, at config/i386/i386.c:5745
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

Test case is in  http://www.firstfloor.org/~andi/do_mounts.i
Compile with -mpreferred-stack-boundary=3 -Os

-Andi



More information about the Gcc-patches mailing list