From 61b2fbe73e4cf6c703305edfe0a7435381195056 Mon Sep 17 00:00:00 2001 From: Michael Meissner Date: Tue, 6 Aug 1996 21:47:05 +0000 Subject: [PATCH] Make STACK_BOUNDARY always 64 bits From-SVN: r12599 --- gcc/config/rs6000/rs6000.c | 6 +++++- gcc/config/rs6000/sysv4.h | 9 +++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 8a5188a787d..00ec109f87f 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -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 diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h index 2c4fb7082d0..68f4b8396b2 100644 --- a/gcc/config/rs6000/sysv4.h +++ b/gcc/config/rs6000/sysv4.h @@ -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 -- 2.30.2