diff options
Diffstat (limited to 'gdb/cris-tdep.c')
-rw-r--r-- | gdb/cris-tdep.c | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/gdb/cris-tdep.c b/gdb/cris-tdep.c index ec342b6..85c5088 100644 --- a/gdb/cris-tdep.c +++ b/gdb/cris-tdep.c @@ -1157,7 +1157,8 @@ cris_frame_init_saved_regs (struct frame_info *fi) CORE_ADDR ip; struct symtab_and_line sal; int best_limit; - char *dummy_regs = deprecated_generic_find_dummy_frame (get_frame_pc (fi), fi->frame); + char *dummy_regs = deprecated_generic_find_dummy_frame (get_frame_pc (fi), + get_frame_base (fi)); /* Examine the entire prologue. */ register int frameless_p = 0; @@ -1211,14 +1212,16 @@ cris_init_extra_frame_info (int fromleaf, struct frame_info *fi) fi->extra_info->return_pc = 0; fi->extra_info->leaf_function = 0; - if (DEPRECATED_PC_IN_CALL_DUMMY (get_frame_pc (fi), fi->frame, fi->frame)) + if (DEPRECATED_PC_IN_CALL_DUMMY (get_frame_pc (fi), + get_frame_base (fi), + get_frame_base (fi))) { /* We need to setup fi->frame here because run_stack_dummy gets it wrong by assuming it's always FP. */ - deprecated_update_frame_base_hack (fi, deprecated_read_register_dummy (get_frame_pc (fi), fi->frame, - SP_REGNUM)); + deprecated_update_frame_base_hack (fi, deprecated_read_register_dummy (get_frame_pc (fi), get_frame_base (fi), SP_REGNUM)); fi->extra_info->return_pc = - deprecated_read_register_dummy (get_frame_pc (fi), fi->frame, PC_REGNUM); + deprecated_read_register_dummy (get_frame_pc (fi), + get_frame_base (fi), PC_REGNUM); /* FIXME: Is this necessarily true? */ fi->extra_info->leaf_function = 0; @@ -1252,9 +1255,11 @@ cris_init_extra_frame_info (int fromleaf, struct frame_info *fi) CORE_ADDR cris_frame_chain (struct frame_info *fi) { - if (DEPRECATED_PC_IN_CALL_DUMMY (get_frame_pc (fi), fi->frame, fi->frame)) + if (DEPRECATED_PC_IN_CALL_DUMMY (get_frame_pc (fi), + get_frame_base (fi), + get_frame_base (fi))) { - return fi->frame; + return get_frame_base (fi); } else if (!inside_entry_file (get_frame_pc (fi))) { @@ -1510,7 +1515,9 @@ cris_pop_frame (void) register int regno; register int stack_offset = 0; - if (DEPRECATED_PC_IN_CALL_DUMMY (get_frame_pc (fi), fi->frame, fi->frame)) + if (DEPRECATED_PC_IN_CALL_DUMMY (get_frame_pc (fi), + get_frame_base (fi), + get_frame_base (fi))) { /* This happens when we hit a breakpoint set at the entry point, when returning from a dummy frame. */ |