0.9.5.84: fix PPC stack alignment problems in call_into_c on Darwin
authorBrian Mastenbrook <bmastenb@cs.indiana.edu>
Sun, 23 Oct 2005 19:28:59 +0000 (19:28 +0000)
committerBrian Mastenbrook <bmastenb@cs.indiana.edu>
Sun, 23 Oct 2005 19:28:59 +0000 (19:28 +0000)
   * Fix from Cyrus Harmon, 2005-10-19, "PPC alignment redux"
   * When calling into C, OS X expects the stack to be 16-byte aligned or
     else C functions which use AltiVec see strange corruption

src/runtime/ppc-assem.S
version.lisp-expr

index 53e8cad..28fe473 100644 (file)
@@ -72,7 +72,7 @@ x:
 (NFPR_SAVE_BYTES(first_f)+ NGPR_SAVE_BYTES(first_g)+ FRAME_ARG_BYTES(out_arg_words))
 #define SAVE_FPR(n) stfd f##n,-8*(32- n)(r11)
 #define SAVE_GPR(n) stw r##n,-4*(32- n)(r11)
-#define FULL_FRAME_SIZE FRAME_SIZE(FIRST_SAVE_GPR,FIRST_SAVE_FPR,8,1)
+#define FULL_FRAME_SIZE (FRAME_SIZE(FIRST_SAVE_GPR,FIRST_SAVE_FPR,8,1)+15&~15)
 #define RESTORE_FPR(n) lfd f##n,-8*(32- n)(r11)
 #define RESTORE_GPR(n) lwz r##n,-4*(32- n)(r11)
 #else
index d8e6565..fbeae3f 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.9.5.83"
+"0.9.5.84"