summaryrefslogtreecommitdiff
path: root/rts/AdjustorAsm.S
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2011-06-29 11:49:57 +0100
committerSimon Marlow <marlowsd@gmail.com>2011-06-29 13:51:54 +0100
commit9f61598ce7b0cb3448e8f0c3d627c0ca47b7f55f (patch)
treea3ec1f14ff62fd312e69b2043d4d017b476c1a12 /rts/AdjustorAsm.S
parent515f06ba7425bbd0d36989a2877f6cb889b80be7 (diff)
downloadhaskell-9f61598ce7b0cb3448e8f0c3d627c0ca47b7f55f.tar.gz
Use the x86/Darwin implementation of Adjustors on all x86 platforms,
as it maintains 16-byte alignment of the stack pointer (see #5250)
Diffstat (limited to 'rts/AdjustorAsm.S')
-rw-r--r--rts/AdjustorAsm.S7
1 files changed, 6 insertions, 1 deletions
diff --git a/rts/AdjustorAsm.S b/rts/AdjustorAsm.S
index cfdef68349..75b83f6947 100644
--- a/rts/AdjustorAsm.S
+++ b/rts/AdjustorAsm.S
@@ -147,7 +147,7 @@ adjustorCode:
/* ********************************* i386 ********************************** */
-#elif defined(i386_HOST_ARCH) && defined(darwin_HOST_OS)
+#elif defined(i386_HOST_ARCH)
#define WS 4
#define RETVAL_OFF 5
@@ -158,8 +158,13 @@ adjustorCode:
#define FRAMESIZE_OFF (HEADER_BYTES + 2*WS)
#define ARGWORDS_OFF (HEADER_BYTES + 3*WS)
+#ifdef LEADING_UNDERSCORE
.globl _adjustorCode
_adjustorCode:
+#else
+ .globl adjustorCode
+adjustorCode:
+#endif
popl %eax
subl $RETVAL_OFF, %eax