diff options
Diffstat (limited to 'gdb/blockframe.c')
-rw-r--r-- | gdb/blockframe.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/gdb/blockframe.c b/gdb/blockframe.c index 364be9e0ef1..47e576e8211 100644 --- a/gdb/blockframe.c +++ b/gdb/blockframe.c @@ -146,7 +146,7 @@ frameless_look_for_prologue (struct frame_info *frame) { CORE_ADDR func_start, after_prologue; - func_start = get_pc_function_start (get_frame_pc (frame)); + func_start = get_frame_func (frame); if (func_start) { func_start += FUNCTION_START_OFFSET; @@ -554,12 +554,12 @@ deprecated_pc_in_call_dummy_at_entry_point (CORE_ADDR pc, CORE_ADDR sp, && (pc) <= (CALL_DUMMY_ADDRESS () + DECR_PC_AFTER_BREAK)); } -/* Function: frame_chain_valid - Returns true for a user frame or a call_function_by_hand dummy frame, - and false for the CRT0 start-up frame. Purpose is to terminate backtrace. */ +/* Returns true for a user frame or a call_function_by_hand dummy + frame, and false for the CRT0 start-up frame. Purpose is to + terminate backtrace. */ int -frame_chain_valid (CORE_ADDR fp, struct frame_info *fi) +legacy_frame_chain_valid (CORE_ADDR fp, struct frame_info *fi) { /* Don't prune CALL_DUMMY frames. */ if (DEPRECATED_USE_GENERIC_DUMMY_FRAMES @@ -575,6 +575,11 @@ frame_chain_valid (CORE_ADDR fp, struct frame_info *fi) if (INNER_THAN (fp, get_frame_base (fi))) return 0; + /* If the architecture has a custom DEPRECATED_FRAME_CHAIN_VALID, + call it now. */ + if (DEPRECATED_FRAME_CHAIN_VALID_P ()) + return DEPRECATED_FRAME_CHAIN_VALID (fp, fi); + /* If we're already inside the entry function for the main objfile, then it isn't valid. */ if (inside_entry_func (get_frame_pc (fi))) @@ -587,10 +592,5 @@ frame_chain_valid (CORE_ADDR fp, struct frame_info *fi) if (inside_entry_file (frame_pc_unwind (fi))) return 0; - /* If the architecture has a custom DEPRECATED_FRAME_CHAIN_VALID, - call it now. */ - if (DEPRECATED_FRAME_CHAIN_VALID_P ()) - return DEPRECATED_FRAME_CHAIN_VALID (fp, fi); - return 1; } |