diff options
author | Daniel Jacobowitz <drow@false.org> | 2008-07-15 18:58:32 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2008-07-15 18:58:32 +0000 |
commit | 54af988d1e631ef9f44c83cc23cbc33bdcf12cf5 (patch) | |
tree | b67c0b548851cb0185d7ce778de4bcfb412f6019 /gdb/stack.c | |
parent | ba2c6aec01a024592f7dce65f0628a93e39f4abe (diff) | |
download | gdb-54af988d1e631ef9f44c83cc23cbc33bdcf12cf5.zip gdb-54af988d1e631ef9f44c83cc23cbc33bdcf12cf5.tar.gz gdb-54af988d1e631ef9f44c83cc23cbc33bdcf12cf5.tar.bz2 |
* frame.c (frame_unwind_id): Renamed to ...
(frame_unwind_caller_id): ... this. All callers updated.
(frame_pc_unwind): Renamed to ...
(frame_unwind_caller_pc): ... this. All callers updated.
* frame.h: Document frame_unwind_caller_WHAT functions.
(frame_unwind_id): Renamed to ...
(frame_unwind_caller_id): ... this.
(frame_pc_unwind): Renamed to ...
(frame_unwind_caller_pc): ... this.
* hppa-tdep.c (hppa_find_unwind_entry_in_block): Correct comment.
* stack.c (parse_frame_specification_1): Do not rely on
frame_unwind_id.
Diffstat (limited to 'gdb/stack.c')
-rw-r--r-- | gdb/stack.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/gdb/stack.c b/gdb/stack.c index 18c4298..7465fbf 100644 --- a/gdb/stack.c +++ b/gdb/stack.c @@ -855,8 +855,16 @@ parse_frame_specification_1 (const char *frame_exp, const char *message, { if (frame_id_eq (id, get_frame_id (fid))) { - while (frame_id_eq (id, frame_unwind_id (fid))) - fid = get_prev_frame (fid); + struct frame_info *prev_frame; + + while (1) + { + prev_frame = get_prev_frame (fid); + if (!prev_frame + || !frame_id_eq (id, get_frame_id (prev_frame))) + break; + fid = prev_frame; + } return fid; } } @@ -985,7 +993,7 @@ frame_info (char *addr_exp, int from_tty) puts_filtered ("; "); wrap_here (" "); printf_filtered ("saved %s ", pc_regname); - fputs_filtered (paddress (frame_pc_unwind (fi)), gdb_stdout); + fputs_filtered (paddress (frame_unwind_caller_pc (fi)), gdb_stdout); printf_filtered ("\n"); if (calling_frame_info == NULL) |