diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2012-02-14 19:38:38 +0100 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2012-02-14 19:38:38 +0100 |
commit | 1f319dbad617f941249fd9bed3f3d05a0f8c1b93 (patch) | |
tree | cffcb6752af230c5d715ccacc22a67899ddf1b0e /libitm/config | |
parent | ebe8daca1e232740427d1d1be813b6d611137e9f (diff) | |
download | gcc-1f319dbad617f941249fd9bed3f3d05a0f8c1b93.zip gcc-1f319dbad617f941249fd9bed3f3d05a0f8c1b93.tar.gz gcc-1f319dbad617f941249fd9bed3f3d05a0f8c1b93.tar.bz2 |
target.h (GTM_longjmp): Correct .cfi directives.
* config/x86/target.h (GTM_longjmp): Correct .cfi directives.
From-SVN: r184220
Diffstat (limited to 'libitm/config')
-rw-r--r-- | libitm/config/x86/sjlj.S | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libitm/config/x86/sjlj.S b/libitm/config/x86/sjlj.S index 9a74d97..554ec98 100644 --- a/libitm/config/x86/sjlj.S +++ b/libitm/config/x86/sjlj.S @@ -112,6 +112,7 @@ 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 @@ -119,20 +120,21 @@ SYM(GTM_longjmp): movq 32(%rsi), %r13 movq 40(%rsi), %r14 movq 48(%rsi), %r15 - movl %edi, %eax cfi_offset(%rip, 56) - cfi_def_cfa(%rcx, 0) + movl %edi, %eax movq %rcx, %rsp + cfi_register(%rsp, %rcx) 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_offset(%eip, 20) - cfi_def_cfa(%ecx, 0) movl %ecx, %esp + cfi_register(%esp, %ecx) jmp *20(%edx) #endif cfi_endproc |