summaryrefslogtreecommitdiff
path: root/libstd/util+posixy-x64.s
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2014-12-26 02:53:34 -0800
committerOri Bernstein <ori@eigenstate.org>2014-12-26 02:53:34 -0800
commitf056f3aecfa11bb28eb32f63421a05eea4e15a54 (patch)
treeac0c558079e0c3fe7d0eccb3c5328b4df2978385 /libstd/util+posixy-x64.s
parenta13e213407d86a54a24977578e0f903248b8702c (diff)
downloadmc-f056f3aecfa11bb28eb32f63421a05eea4e15a54.tar.gz
We were killing the spare stack space when unpopping args. Oops.
Diffstat (limited to 'libstd/util+posixy-x64.s')
-rw-r--r--libstd/util+posixy-x64.s4
1 files changed, 2 insertions, 2 deletions
diff --git a/libstd/util+posixy-x64.s b/libstd/util+posixy-x64.s
index 2166ecc..b6a9b85 100644
--- a/libstd/util+posixy-x64.s
+++ b/libstd/util+posixy-x64.s
@@ -28,7 +28,7 @@ sys$cstring:
subq $1,%rsp /* +1 for nul */
movq %rsp,%rdi /* dest */
movq %rsp,%rax /* ret val */
- subq $16,%rsp /* "unpop" the args */
+ subq $31,%rsp /* "unpop" the args */
andq $(~15),%rsp /* align */
cld
@@ -61,7 +61,7 @@ sys$alloca:
/* get stack space */
subq %rbx,%rsp /* get stack space */
movq %rsp,%rax /* top of stack (return value) */
- subq $16,%rsp /* "unpop" the args for return */
+ subq $31,%rsp /* "unpop" the args for return */
andq $(~15),%rsp /* align */
pushq %r15 /* ret addr */