[Bug target/69140] New: [5.3 regression] Stack alignment + O1 breaks on x86_64 [introduced by r230176 ]

bucaneer at gmail dot com gcc-bugzilla@gcc.gnu.org
Mon Jan 4 23:58:00 GMT 2016


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69140

            Bug ID: 69140
           Summary: [5.3 regression] Stack alignment + O1 breaks on x86_64
                    [introduced by r230176 ]
           Product: gcc
           Version: 5.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: bucaneer at gmail dot com
  Target Milestone: ---

Compilation of 64bit Wine with GCC 5.3 fails when using both stack realignment
(-mincoming-stack-boundary=3) and optimization (-O1 or higher):

---
../../../wine/dlls/advapi32/crypt_md4.c:134:1: internal compiler error: in
choose_baseaddr, at config/i386/i386.c:10412
---

which refers to this assert in choose_baseaddr:

---
gcc_assert (base_reg != NULL);
---

This worked fine in some pre-5.3 dev builds (as confirmed when testing bug
66697 fix). git bisect identifies r230176 as the cause of the regression:

---
commit 6ca53fc513f4efdca56af52439ffc5a49b9e6e21
Author: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Wed Nov 11 14:56:17 2015 +0000

        PR target/67265
        * ira.c (ira_setup_eliminable_regset): Do not necessarily create the
        frame pointer for stack checking if non-call exceptions aren't used.
        * config/i386/i386.c (ix86_finalize_stack_realign_flags): Likewise.


    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-5-branch@230176
138bc75d-0d04-0410-961f-82ee72b054a4
---


More information about the Gcc-bugs mailing list