aboutsummaryrefslogtreecommitdiff
path: root/libitm/config/x86
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2012-02-14 11:46:46 -0800
committerRichard Henderson <rth@gcc.gnu.org>2012-02-14 11:46:46 -0800
commit72824d5e40692acaba4e7635b0b26f2e8e48b059 (patch)
tree4f6366712bdd6cf290de07bf8aa4a23dbcf875d3 /libitm/config/x86
parenta85ce59dda4eb5547d9614909e1fcebf0a7add3f (diff)
downloadgcc-72824d5e40692acaba4e7635b0b26f2e8e48b059.zip
gcc-72824d5e40692acaba4e7635b0b26f2e8e48b059.tar.gz
gcc-72824d5e40692acaba4e7635b0b26f2e8e48b059.tar.bz2
* config/x86/target.h (GTM_longjmp): Correct the .cfi corrections.
From-SVN: r184227
Diffstat (limited to 'libitm/config/x86')
-rw-r--r--libitm/config/x86/sjlj.S10
1 files changed, 5 insertions, 5 deletions
diff --git a/libitm/config/x86/sjlj.S b/libitm/config/x86/sjlj.S
index 554ec98..8844228 100644
--- a/libitm/config/x86/sjlj.S
+++ b/libitm/config/x86/sjlj.S
@@ -112,7 +112,6 @@ SYM(_ITM_beginTransaction):
SYM(GTM_longjmp):
cfi_startproc
#ifdef __x86_64__
- cfi_def_cfa(%rsi, 0)
movq (%rsi), %rcx
movq 8(%rsi), %rbx
movq 16(%rsi), %rbp
@@ -120,21 +119,22 @@ SYM(GTM_longjmp):
movq 32(%rsi), %r13
movq 40(%rsi), %r14
movq 48(%rsi), %r15
- cfi_offset(%rip, 56)
movl %edi, %eax
- movq %rcx, %rsp
+ cfi_def_cfa(%rsi, 0)
+ cfi_offset(%rip, 56)
cfi_register(%rsp, %rcx)
+ movq %rcx, %rsp
jmp *56(%rsi)
#else
- cfi_def_cfa(%edx, 0)
movl (%edx), %ecx
movl 4(%edx), %ebx
movl 8(%edx), %esi
movl 12(%edx), %edi
movl 16(%edx), %ebp
+ cfi_def_cfa(%edx, 0)
cfi_offset(%eip, 20)
- movl %ecx, %esp
cfi_register(%esp, %ecx)
+ movl %ecx, %esp
jmp *20(%edx)
#endif
cfi_endproc