From: uros Date: Tue, 14 Feb 2012 18:38:38 +0000 (+0000) Subject: * config/x86/target.h (GTM_longjmp): Correct .cfi directives. X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=commitdiff_plain;h=67012b2347a727aa93898ca960fb65e3d810c834 * config/x86/target.h (GTM_longjmp): Correct .cfi directives. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@184220 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/libitm/ChangeLog b/libitm/ChangeLog index 4dbb1e85ecd..23594d37498 100644 --- a/libitm/ChangeLog +++ b/libitm/ChangeLog @@ -1,3 +1,7 @@ +2012-02-14 Uros Bizjak + + * config/x86/target.h (GTM_longjmp): Correct .cfi directives. + 2012-02-14 Torvald Riegel * libitm_i.h (GTM::gtm_rwlog_entry): New. diff --git a/libitm/config/x86/sjlj.S b/libitm/config/x86/sjlj.S index 9a74d97f76f..554ec984d46 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