OSDN Git Service

* config/x86/target.h (GTM_longjmp): Correct .cfi directives.
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 14 Feb 2012 18:38:38 +0000 (18:38 +0000)
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 14 Feb 2012 18:38:38 +0000 (18:38 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@184220 138bc75d-0d04-0410-961f-82ee72b054a4

libitm/ChangeLog
libitm/config/x86/sjlj.S

index 4dbb1e8..23594d3 100644 (file)
@@ -1,3 +1,7 @@
+2012-02-14  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/x86/target.h (GTM_longjmp): Correct .cfi directives.
+
 2012-02-14  Torvald Riegel  <triegel@redhat.com>
 
        * libitm_i.h (GTM::gtm_rwlog_entry): New.
index 9a74d97..554ec98 100644 (file)
@@ -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