aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Christopher <echristo@apple.com>2007-06-14 01:53:17 +0000
committerEric Christopher <echristo@gcc.gnu.org>2007-06-14 01:53:17 +0000
commitab47d43e0174bc528c1da12401a5b329aa33703c (patch)
treee301069c95e317d7536a283ef6eaeda786521acb
parent77dcc286775464a0f90615715995499c9092c36e (diff)
downloadgcc-ab47d43e0174bc528c1da12401a5b329aa33703c.zip
gcc-ab47d43e0174bc528c1da12401a5b329aa33703c.tar.gz
gcc-ab47d43e0174bc528c1da12401a5b329aa33703c.tar.bz2
darwin.h (PREFERRED_STACK_BOUNDARY): Don't let the user set a value below STACK_BOUNDARY.
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. From-SVN: r125695
-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 348347c..7f85af9 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 144b492..9cc5e54 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. */