Make STACK_BOUNDARY always 64 bits
authorMichael Meissner <meissner@gcc.gnu.org>
Tue, 6 Aug 1996 21:47:05 +0000 (21:47 +0000)
committerMichael Meissner <meissner@gcc.gnu.org>
Tue, 6 Aug 1996 21:47:05 +0000 (21:47 +0000)
From-SVN: r12599

gcc/config/rs6000/rs6000.c
gcc/config/rs6000/sysv4.h

index 8a5188a787d2588ba0bd5908900e357e96d27f35..00ec109f87febf9f69f79d4ed83320b34252a572 100644 (file)
@@ -2994,6 +2994,10 @@ rs6000_makes_calls ()
    old SP.  To support calls through pointers, we also allocate a
    fixed slot to store the TOC, -8 off the old SP.  */
 
+#ifndef ABI_STACK_BOUNDARY
+#define ABI_STACK_BOUNDARY STACK_BOUNDARY
+#endif
+
 rs6000_stack_t *
 rs6000_stack_info ()
 {
@@ -3108,7 +3112,7 @@ rs6000_stack_info ()
                            + info_ptr->varargs_size
                            + info_ptr->fixed_size);
 
-  info_ptr->total_size   = ALIGN (total_raw_size, STACK_BOUNDARY / BITS_PER_UNIT);
+  info_ptr->total_size   = ALIGN (total_raw_size, ABI_STACK_BOUNDARY / BITS_PER_UNIT);
 
   /* Determine if we need to allocate any stack frame.
      For AIX We need to push the stack if a frame pointer is needed (because
index 2c4fb7082d0fdf08daaeceb9feb50c0570a2edf9..68f4b8396b2af1ef9e73b4b63318abc0a3879135 100644 (file)
@@ -383,9 +383,14 @@ do {                                                                       \
 #undef STRICT_ALIGNMENT
 #define        STRICT_ALIGNMENT (TARGET_STRICT_ALIGN || TARGET_LITTLE_ENDIAN)
 
-/* Align stack to 8 byte boundaries for eabi, 16 byte boundaries for System V.4  */
+/* Alignment in bits of the stack boundary.  Note, in order to allow building
+   one set of libraries with -mno-eabi instead of eabi libraries and non-eabi
+   versions, just use 64 as the stack boundary.  */
 #undef STACK_BOUNDARY
-#define        STACK_BOUNDARY  ((TARGET_EABI) ? 64 : 128)
+#define        STACK_BOUNDARY  64
+
+/* Real stack boundary as mandated by the appropriate ABI */
+#define ABI_STACK_BOUNDARY ((TARGET_EABI) ? 64 : 128)
 
 /* No data type wants to be aligned rounder than this.  */
 #undef BIGGEST_ALIGNMENT