diff options
author | Franz Sirl <Franz.Sirl-kernel@lauterbach.com> | 2003-10-28 19:46:42 +0000 |
---|---|---|
committer | Franz Sirl <sirl@gcc.gnu.org> | 2003-10-28 19:46:42 +0000 |
commit | 06ba585456409276aec14ef4649249addfd01f64 (patch) | |
tree | 8f2bad2aaa57fa9a29b6cb36314b2515557a8268 | |
parent | ed1ca05a176303e626fb12bb93e7d2540f46b618 (diff) | |
download | gcc-06ba585456409276aec14ef4649249addfd01f64.zip gcc-06ba585456409276aec14ef4649249addfd01f64.tar.gz gcc-06ba585456409276aec14ef4649249addfd01f64.tar.bz2 |
re PR target/11598 (testcase gcc.dg/20020118-1.c fails runtime check of __attribute__((aligned(16))))
2003-10-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
PR target/11598
PR libgcj/10610
* config/rs6000/sysv4.h (PREFERRED_STACK_BOUNDARY): New macro.
From-SVN: r73017
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/rs6000/sysv4.h | 15 |
2 files changed, 21 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a9f4307..0438e09 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-10-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> + + PR target/11598 + PR libgcj/10610 + * config/rs6000/sysv4.h (PREFERRED_STACK_BOUNDARY): New macro. + 2003-10-28 Richard Earnshaw <rearnsha@arm.com> * arm.c (arm_output_epilogue): When using a frame pointer, don't emit diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h index 45928e4..7c327f75 100644 --- a/gcc/config/rs6000/sysv4.h +++ b/gcc/config/rs6000/sysv4.h @@ -389,6 +389,21 @@ do { \ #undef STACK_BOUNDARY #define STACK_BOUNDARY (TARGET_ALTIVEC_ABI ? 128 : 64) +/* Define this macro if you wish to preserve a certain alignment for + the stack pointer, greater than what the hardware enforces. The + definition is a C expression for the desired alignment (measured + in bits). This macro must evaluate to a value equal to or larger + than STACK_BOUNDARY. + For the SYSV ABI and variants the alignment of the stack pointer + is usually controlled manually in rs6000.c. However, to maintain + alignment across alloca () in all circumstances, + PREFERRED_STACK_BOUNDARY needs to be set as well. + This has the additional advantage of allowing a bigger maximum + alignment of user objects on the stack. */ + +#undef PREFERRED_STACK_BOUNDARY +#define PREFERRED_STACK_BOUNDARY 128 + /* Real stack boundary as mandated by the appropriate ABI. */ #define ABI_STACK_BOUNDARY ((TARGET_EABI && !TARGET_ALTIVEC_ABI) ? 64 : 128) |