This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/66697] Feature request: -mstackrealign and force_align_arg_pointer for x86_64
- From: "bucaneer at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 05 Oct 2015 19:55:41 +0000
- Subject: [Bug target/66697] Feature request: -mstackrealign and force_align_arg_pointer for x86_64
- Auto-submitted: auto-generated
- References: <bug-66697-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66697
--- Comment #8 from Justas L <bucaneer at gmail dot com> ---
I applied the first (testing) version of the patch on gcc 5.2.0 release source
(with slight modifications to make it apply). All new features work as
expected, as per the test in comment #2. However, compiling Wine with either
-mstackrealign or -mincoming-stack-boundary=3 fails, throwing this error:
---------
../../../wine/dlls/dxerr8/dxerr8.c:135:1: internal compiler error: in
ix86_compute_frame_layout, at config/i386/i386.c:10212
---------
which refers to this line in i386.c:
---------
gcc_assert (INCOMING_STACK_BOUNDARY >= 128);
---------
Commenting out the assert allows Wine to compile normally. (I assume the
correct fix would be to change the number to 64.) And compiling Wine with
-mincoming-stack-boundary=3 does fix the original issue (or at least the one
instance of it that I care about). So the gcc side of the issue is almost
resolved, with just the assert left to address.