fix target/14539

Richard Henderson rth@redhat.com
Thu Mar 11 23:43:00 GMT 2004


This is actually something that has come up before:

  http://gcc.gnu.org/ml/gcc/2004-01/msg01643.html

I didn't realize the repercussions of this until I ran into a
glibc testcase attempting to validate that the stack is indeed
properly aligned in threads.  For that test case, and the one
in the pr, we don't properly align the long double within the
stack frame.

I examined the open questions in that thread.  It turns out 
that we have nothing to worry about -- all alpha ABIs round
the stack frame up to a multiple of 16 at the beginning of
alpha_expand_prologue, and always have.

Mark, ok for 3.4?


r~



	* config/alpha/alpha.h (STACK_BOUNDARY): Set to 128.

Index: alpha.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/alpha/alpha.h,v
retrieving revision 1.217
diff -c -p -d -u -r1.217 alpha.h
--- alpha.h	6 Mar 2004 18:48:51 -0000	1.217
+++ alpha.h	11 Mar 2004 23:18:42 -0000
@@ -512,7 +512,7 @@ extern const char *alpha_tls_size_string
 #define PARM_BOUNDARY 64
 
 /* Boundary (in *bits*) on which stack pointer should be aligned.  */
-#define STACK_BOUNDARY 64
+#define STACK_BOUNDARY 128
 
 /* Allocation boundary (in *bits*) for the code of a function.  */
 #define FUNCTION_BOUNDARY 32



More information about the Gcc-patches mailing list