This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, libitm]: GTM_longjmp: Jump indirect from memory address


On Tue, Feb 14, 2012 at 8:52 PM, Richard Henderson <rth@redhat.com> wrote:
> On 02/14/2012 10:26 AM, Uros Bizjak wrote:
>> ?#ifdef __x86_64__
>> + ? ? cfi_def_cfa(%rsi, 0)
>> ? ? ? movq ? ?(%rsi), %rcx
>> ? ? ? movq ? ?8(%rsi), %rbx
>> ? ? ? movq ? ?16(%rsi), %rbp
>> @@ -119,20 +120,21 @@
>> ? ? ? movq ? ?32(%rsi), %r13
>> ? ? ? movq ? ?40(%rsi), %r14
>> ? ? ? movq ? ?48(%rsi), %r15
>> + ? ? cfi_offset(%rip, 56)
>> ? ? ? movl ? ?%edi, %eax
>> - ? ? cfi_offset(%rip, 56)
>> - ? ? cfi_def_cfa(%rcx, 0)
>> ? ? ? movq ? ?%rcx, %rsp
>> + ? ? cfi_register(%rsp, %rcx)
>> ? ? ? jmp ? ? *56(%rsi)
>
> No, your changes are incorrect. ?All three markers needed to be together
> in order to provide a consistent and coherent unwind. ?What you committed
> was much worse than simply not describing anything at all.
>
> Fixed as below. ?Committed.

Thanks!

Uros.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]