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] |
On Tue, Feb 14, 2012 at 7:07 PM, Richard Henderson <rth@redhat.com> wrote: > On 02/13/2012 11:54 PM, Uros Bizjak wrote: >> ? ? ? movq ? ?48(%rsi), %r15 >> - ? ? movq ? ?56(%rsi), %rdx >> ? ? ? movl ? ?%edi, %eax >> + ? ? cfi_offset(%rip, 56) >> ? ? ? cfi_def_cfa(%rcx, 0) >> - ? ? cfi_register(%rip, %rdx) >> ? ? ? movq ? ?%rcx, %rsp >> - ? ? jmp ? ? *%rdx >> + ? ? jmp ? ? *56(%rsi) > > I'm sorry, I was mistaken earlier. ?The rip value is not at CFA+56, it's at RSI+56. > The way to describe this is > > ? ? ? ?cfi_def_cfa(%rsi, 0) > ? ? ? ?cfi_offset(%rip, 56) > ? ? ? ?cfi_register(%rsp, %rcx) Yes, IMO this now describes correct CFA handling. Following follow-on patch corrects this issue (and also puts .cfi directions to the place where they make most sense, mainly a cosmetic change). Re-tested on x86_64-pc-linux-gnu {,-m32} and committed. Thanks, Uros.
Attachment:
i.diff.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |