summary refs log tree commit diff
path: root/src/rt
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2011-12-15 15:12:43 -0800
committerBrian Anderson <banderson@mozilla.com>2011-12-16 18:18:43 -0800
commit7d51961b6f25accb65d7a11dab8be7e47201f308 (patch)
tree163f22c46068661452b4050dacae0cca7a73b36a /src/rt
parent9d70c1949e4c26cc558525b242714efb3e8eb212 (diff)
downloadrust-7d51961b6f25accb65d7a11dab8be7e47201f308.tar.gz
rust-7d51961b6f25accb65d7a11dab8be7e47201f308.zip
rt: Fix saved address of unwinding %rsp in __morestack
I haven't thought too deeply about this, but I think I was telling the
unwinder to use the stack pointer for the wrong frame when unwinding. Not sure
how that could have worked at all, but this results in the correct alignment
for cleanups.
Diffstat (limited to 'src/rt')
-rw-r--r--src/rt/arch/x86_64/morestack.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/rt/arch/x86_64/morestack.S b/src/rt/arch/x86_64/morestack.S
index 3cb5e2d8a9d..369e4a340e0 100644
--- a/src/rt/arch/x86_64/morestack.S
+++ b/src/rt/arch/x86_64/morestack.S
@@ -68,7 +68,7 @@ MORESTACK:
 	.cfi_offset %rsp, -24
 
 	// Save the grandparent stack pointer for the unwinder
-	leaq 16(%rbp), %rax
+	leaq 24(%rbp), %rax
 	pushq %rax
 
 	// FIXME: libgcc also saves rax. not sure if we need to