public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "mrs at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/63890] [4.9/5 regression] Compiling trivial program with -O -p leads to misaligned stack
Date: Wed, 25 Feb 2015 02:16:00 -0000	[thread overview]
Message-ID: <bug-63890-4-GpJwFKVjsD@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-63890-4@http.gcc.gnu.org/bugzilla/>

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

--- Comment #9 from mrs at gcc dot gnu.org <mrs at gcc dot gnu.org> ---
This is caused by:

--- ChangeLog   (revision 203170)
+++ ChangeLog   (revision 203171)
@@ -1,3 +1,8 @@
+2013-10-03  Jan Hubicka  <jh@suse.cz>
+
+       * i386.c (ix86_option_override_internal): Do not enable
+       accumulate-outgoing-args when producing unwind info.


Without saying if this is the right approach, I can just note that it works.

Index: config/i386/i386.h
===================================================================
--- config/i386/i386.h    (revision 220946)
+++ config/i386/i386.h    (working copy)
@@ -1606,7 +1606,7 @@ enum reg_class

 #define ACCUMULATE_OUTGOING_ARGS \
   ((TARGET_ACCUMULATE_OUTGOING_ARGS && optimize_function_for_speed_p (cfun)) \
-   || TARGET_STACK_PROBE || TARGET_64BIT_MS_ABI)
+   || TARGET_STACK_PROBE || TARGET_64BIT_MS_ABI || crtl->profile)

 /* If defined, a C expression whose value is nonzero when we want to use PUSH
    instructions to pass outgoing arguments.  */

The idea is, if mcount requires alignment of the stack, and outgoing arguments
is the only way to get that, then it would makes sense to have -p imply
outgoing arguments.

Previously on darwin we had flag_asynchronous_unwind_tables which turned on
target_flags |= MASK_ACCUMULATE_OUTGOING_ARGS, which ensured that
TARGET_ACCUMULATE_OUTGOING_ARGS was true which was enough to ensure that
ACCUMULATE_OUTGOING_ARGS was true.

If linux and all other x86 ports also needs stack alignment in mcount, then the
above should be correct.  If not, then darwin needs to ask specially, since no
one else does.


  parent reply	other threads:[~2015-02-25  0:23 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-15 15:19 [Bug target/63890] New: [4.9/5.0 " fxcoudert at gcc dot gnu.org
2014-11-15 15:20 ` [Bug target/63890] " fxcoudert at gcc dot gnu.org
2014-11-15 15:45 ` fxcoudert at gcc dot gnu.org
2014-11-15 16:01 ` iains at gcc dot gnu.org
2014-11-15 16:24 ` dominiq at lps dot ens.fr
2014-11-15 16:42 ` dominiq at lps dot ens.fr
2014-11-15 16:46 ` iains at gcc dot gnu.org
2014-11-15 18:11 ` iains at gcc dot gnu.org
2014-11-17  9:32 ` rguenth at gcc dot gnu.org
2014-11-24 16:58 ` rguenth at gcc dot gnu.org
2015-02-24 22:41 ` [Bug target/63890] [4.9/5 " mrs at gcc dot gnu.org
2015-02-25  2:16 ` mrs at gcc dot gnu.org [this message]
2015-02-25  4:24 ` mrs at gcc dot gnu.org
2015-02-25  6:46 ` hubicka at ucw dot cz
     [not found] ` <bug-63890-4-n8faGCUNTz@http.gcc.gnu.org/bugzilla/>
2015-02-27  8:29   ` Jan Hubicka
2015-02-27  8:38 ` hubicka at ucw dot cz
2015-03-01 20:42 ` howarth at bromo dot med.uc.edu
2015-03-01 22:02 ` hubicka at gcc dot gnu.org
2015-03-01 23:19 ` mrs at gcc dot gnu.org
2015-03-01 23:26 ` hubicka at ucw dot cz
2015-03-01 23:49 ` mrs at gcc dot gnu.org
2015-03-02  0:29 ` hubicka at ucw dot cz
2015-03-30 13:17 ` iains at gcc dot gnu.org
2015-04-02  9:15 ` dominiq at lps dot ens.fr
2015-06-26 20:07 ` [Bug target/63890] [4.9/5/6 " jakub at gcc dot gnu.org
2015-06-26 20:36 ` jakub at gcc dot gnu.org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-63890-4-GpJwFKVjsD@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).