From 485e3b5fa7cf787bf2e341b746a51c6c41b103c6 Mon Sep 17 00:00:00 2001 From: Nikodemus Siivola Date: Fri, 30 May 2008 17:29:27 +0000 Subject: [PATCH] 1.0.17.10: correct stack alignment for alloc() calls on Darwin/x86 * 16 bytes at the point of call, not 16 bytes at some random-point- then-push-two-words. --- src/runtime/x86-assem.S | 6 +++--- version.lisp-expr | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/runtime/x86-assem.S b/src/runtime/x86-assem.S index e336bdd..4a5090c 100644 --- a/src/runtime/x86-assem.S +++ b/src/runtime/x86-assem.S @@ -435,9 +435,9 @@ GNAME(do_pending_interrupt): #define ALLOC(size) \ pushl %ebp; /* Save EBP */ \ movl %esp,%ebp; /* Save ESP to EBP */ \ - andl $0xfffffff0,%esp; /* Align stack */ \ - pushl $0; /* Padding */ \ - pushl size; /* Argument to alloc */ \ + pushl $0; /* Reserve space for arg */ \ + andl $0xfffffff0,%esp; /* Align stack to 16bytes */ \ + movl size, (%esp); /* Argument to alloc */ \ call GNAME(alloc); \ movl %ebp,%esp; /* Restore ESP from EBP */ \ popl %ebp; /* Restore EBP */ diff --git a/version.lisp-expr b/version.lisp-expr index e572e1b..bc370fd 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -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".) -"1.0.17.9" +"1.0.17.10" -- 1.7.10.4