mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-06 06:39:05 +08:00
* dwarf2-frame.c (read_reg): Expect this_frame in the baton.
(execute_stack_op): Put this_frame in the baton. (execute_cfa_program): Take this_frame. (struct dwarf2_frame_ops): Update comment for signal_frame_p. (dwarf2_frame_default_init_reg, dwarf2_frame_init_reg) (dwarf2_frame_signal_frame_p, dwarf2_frame_cache) (dwarf2_frame_this_id): Adjust to work on this_frame. (dwarf2_signal_frame_this_id): Delete. (dwarf2_frame_prev_register): Update signature. Use new frame unwind methods. (dwarf2_frame_sniffer): Update signature. Expect this_frame. (dwarf2_frame_unwind, dwarf2_signal_frame_unwind): Add dwarf2_frame_sniffer. (dwarf2_append_unwinders): New. (dwarf2_frame_base_address, dwarf2_frame_base_sniffer): Expect this_frame. * sparc-tdep.c (sparc32_dwarf2_struct_return_p) (sparc32_dwarf2_frame_init_reg): Expect this_frame. * cris-tdep.c (cris_dwarf2_frame_init_reg): Likewise. * rs6000-tdep.c (ppc_dwarf2_frame_init_reg): Likewise. * s390-tdep.c (s390_dwarf2_frame_init_reg): Likewise. * sh-tdep.c (sh_dwarf2_frame_init_reg): Likewise. * sparc64-tdep.c (sparc64_dwarf2_frame_init_reg): Likewise. * dwarf2-frame.h (dwarf2_frame_sniffer): Delete declaration. (dwarf2_append_unwinders): Declare. (dwarf2_frame_base_sniffer): Update declaration. * i386-linux-tdep.c (i386_linux_dwarf_signal_frame_p): Expect this_frame.
This commit is contained in:
@ -1191,9 +1191,9 @@ sparc32_stabs_argument_has_addr (struct gdbarch *gdbarch, struct type *type)
|
||||
}
|
||||
|
||||
static int
|
||||
sparc32_dwarf2_struct_return_p (struct frame_info *next_frame)
|
||||
sparc32_dwarf2_struct_return_p (struct frame_info *this_frame)
|
||||
{
|
||||
CORE_ADDR pc = frame_unwind_address_in_block (next_frame, NORMAL_FRAME);
|
||||
CORE_ADDR pc = get_frame_address_in_block (this_frame, NORMAL_FRAME);
|
||||
struct symbol *sym = find_pc_function (pc);
|
||||
|
||||
if (sym)
|
||||
@ -1204,7 +1204,7 @@ sparc32_dwarf2_struct_return_p (struct frame_info *next_frame)
|
||||
static void
|
||||
sparc32_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum,
|
||||
struct dwarf2_frame_state_reg *reg,
|
||||
struct frame_info *next_frame)
|
||||
struct frame_info *this_frame)
|
||||
{
|
||||
int off;
|
||||
|
||||
@ -1223,7 +1223,7 @@ sparc32_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum,
|
||||
case SPARC32_NPC_REGNUM:
|
||||
reg->how = DWARF2_FRAME_REG_RA_OFFSET;
|
||||
off = 8;
|
||||
if (sparc32_dwarf2_struct_return_p (next_frame))
|
||||
if (sparc32_dwarf2_struct_return_p (this_frame))
|
||||
off += 4;
|
||||
if (regnum == SPARC32_NPC_REGNUM)
|
||||
off += 4;
|
||||
|
Reference in New Issue
Block a user