summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorechristo <echristo@138bc75d-0d04-0410-961f-82ee72b054a4>2007-06-14 01:53:17 +0000
committerechristo <echristo@138bc75d-0d04-0410-961f-82ee72b054a4>2007-06-14 01:53:17 +0000
commit4015e6f0a28f072b64a4a8ea5b461c5e4111cd44 (patch)
treee301069c95e317d7536a283ef6eaeda786521acb
parent21fcce6d61f5c98ebafa96753644dba1edba3528 (diff)
downloadgcc-4015e6f0a28f072b64a4a8ea5b461c5e4111cd44.tar.gz
2007-06-13 Eric Christopher <echristo@apple.com>
* config/i386/darwin.h (PREFERRED_STACK_BOUNDARY): Don't let the user set a value below STACK_BOUNDARY. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125695 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/i386/darwin.h10
2 files changed, 15 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 348347cc962..7f85af9b35a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2007-06-13 Eric Christopher <echristo@apple.com>
+
+ * config/i386/darwin.h (PREFERRED_STACK_BOUNDARY): Don't let
+ the user set a value below STACK_BOUNDARY.
+
2007-06-13 Thiemo Seufer <ths@networkno.de>
* config/mips/linux.h, config/mips/linux64.h (LIB_SPEC): Always
diff --git a/gcc/config/i386/darwin.h b/gcc/config/i386/darwin.h
index 144b4921196..9cc5e542445 100644
--- a/gcc/config/i386/darwin.h
+++ b/gcc/config/i386/darwin.h
@@ -75,6 +75,16 @@ Boston, MA 02110-1301, USA. */
#undef STACK_BOUNDARY
#define STACK_BOUNDARY 128
+/* Since we'll never want a stack boundary less aligned than 128 bits
+ we need the extra work here otherwise bits of gcc get very grumpy
+ when we ask for lower alignment. We could just reject values less
+ than 128 bits for Darwin, but it's easier to up the alignment if
+ it's below the minimum. */
+#undef PREFERRED_STACK_BOUNDARY
+#define PREFERRED_STACK_BOUNDARY (ix86_preferred_stack_boundary > 128 \
+ ? ix86_preferred_stack_boundary \
+ : 128)
+
/* We want -fPIC by default, unless we're using -static to compile for
the kernel or some such. */