diff options
| author | Brian Anderson <banderson@mozilla.com> | 2011-12-15 15:12:43 -0800 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2011-12-16 18:18:43 -0800 |
| commit | 7d51961b6f25accb65d7a11dab8be7e47201f308 (patch) | |
| tree | 163f22c46068661452b4050dacae0cca7a73b36a /src/rt | |
| parent | 9d70c1949e4c26cc558525b242714efb3e8eb212 (diff) | |
| download | rust-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.S | 2 |
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 |
