summaryrefslogtreecommitdiffstats
path: root/libitm/config
diff options
context:
space:
mode:
Diffstat (limited to 'libitm/config')
-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 554ec984d46..884422882be 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
OpenPOWER on IntegriCloud