diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2007-11-02 14:47:28 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2007-11-02 14:47:28 +0000 |
commit | 5be3679bc307e8f513c5820abfbdc46e5f15da9a (patch) | |
tree | 28f40e6f9ebff4e6c98ef00f425264d3661e2867 /gdb/frame.c | |
parent | 6ed2f5ec3dbe5b615d4aa8a38a647596fd9373b8 (diff) | |
download | gdb-5be3679bc307e8f513c5820abfbdc46e5f15da9a.tar.gz |
2007-11-02 Markus Deuling <deuling@de.ibm.com>
* frame.c (frame_id_inner): Add gdbarch parameter. Replace
current_gdbarch by gdbarch.
(frame_find_by_id, get_prev_frame_1): Use get_frame_arch to get at the
current architecture by frame_info.
* frame.h (frame_id_inner): Add gdbarch parameter.
* stack.c (return_command): Use get_frame_arch to get at the current
architecture by frame_info. Update call of frame_id_inner.
* infrun.c (handle_inferior_event): Likewise.
* dummy-frame.c (dummy_frame_push): Use get_regcache_arch to get at the
current architecture by regcache. Update call of frame_id_inner.
Diffstat (limited to 'gdb/frame.c')
-rw-r--r-- | gdb/frame.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/gdb/frame.c b/gdb/frame.c index 1a7c87f64a9..5bf419e64cf 100644 --- a/gdb/frame.c +++ b/gdb/frame.c @@ -369,7 +369,7 @@ frame_id_eq (struct frame_id l, struct frame_id r) } int -frame_id_inner (struct frame_id l, struct frame_id r) +frame_id_inner (struct gdbarch *gdbarch, struct frame_id l, struct frame_id r) { int inner; if (!l.stack_addr_p || !r.stack_addr_p) @@ -380,7 +380,7 @@ frame_id_inner (struct frame_id l, struct frame_id r) comment in "frame.h", there is some fuzz here. Frameless functions are not strictly inner than (same .stack but different .code and/or .special address). */ - inner = gdbarch_inner_than (current_gdbarch, l.stack_addr, r.stack_addr); + inner = gdbarch_inner_than (gdbarch, l.stack_addr, r.stack_addr); if (frame_debug) { fprintf_unfiltered (gdb_stdlog, "{ frame_id_inner (l="); @@ -410,7 +410,7 @@ frame_find_by_id (struct frame_id id) if (frame_id_eq (id, this)) /* An exact match. */ return frame; - if (frame_id_inner (id, this)) + if (frame_id_inner (get_frame_arch (frame), id, this)) /* Gone to far. */ return NULL; /* Either we're not yet gone far enough out along the frame @@ -1175,7 +1175,8 @@ get_prev_frame_1 (struct frame_info *this_frame) go backwards) and sentinel frames (the test is meaningless). */ if (this_frame->next->level >= 0 && this_frame->next->unwind->type != SIGTRAMP_FRAME - && frame_id_inner (this_id, get_frame_id (this_frame->next))) + && frame_id_inner (get_frame_arch (this_frame), this_id, + get_frame_id (this_frame->next))) { if (frame_debug) { |