public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Aarch64 implementation for dwarf exception handling
@ 2014-02-13  2:15 Shiva Chen
  2014-02-13 11:41 ` Yufeng Zhang 张玉峰
  2014-02-13 14:32 ` Renlin Li
  0 siblings, 2 replies; 4+ messages in thread
From: Shiva Chen @ 2014-02-13  2:15 UTC (permalink / raw)
  To: gcc

Hi,

I have a question about the implementation of

aarch64_final_eh_return_addr

which is used to point out the return address of the frame

According the source code

If FP is not needed

  return gen_frame_mem (DImode,
                        plus_constant (Pmode,
                                       stack_pointer_rtx,
                                       fp_offset
                                       + cfun->machine->frame.saved_regs_size
                                       - 2 * UNITS_PER_WORD));


According the frame layout

        +-------------------------------+ <-- arg_pointer_rtx
        |
        |  callee-allocated save area
        |  for register varargs
        |
        +-------------------------------+
        |
        |  local variables
        |
        +-------------------------------+ <-- frame_pointer_rtx
        |
        |  callee-saved registers
        |
        +-------------------------------+
        |  LR'
        +-------------------------------+
        |  FP'
       P+-------------------------------+ <-- hard_frame_pointer_rtx
        |  dynamic allocation
        +-------------------------------+
        |
        |  outgoing stack arguments
        |
        +-------------------------------+ <-- stack_pointer_rtx

Shouldn't the return value be

  return gen_frame_mem (DImode,
                        plus_constant (Pmode,
                                       stack_pointer_rtx,
                                       fp_offset
                                       +  2* UNITS_PER_WORD));

Or I just mis-understanding something ?


Hope someone could give me a tip.

It would be very helpful.

Thanks

Shiva Chen

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-02-13 15:37 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-13  2:15 Aarch64 implementation for dwarf exception handling Shiva Chen
2014-02-13 11:41 ` Yufeng Zhang 张玉峰
2014-02-13 14:32 ` Renlin Li
2014-02-13 15:37   ` Shiva Chen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).