This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

fix target/14539


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]