From 123680036c40f8ed10bbdf9da800e71b48b3a4fc Mon Sep 17 00:00:00 2001 From: Markus Deuling Date: Wed, 21 Nov 2007 06:02:53 +0000 Subject: [PATCH] 2007-11-21 Markus Deuling * stack.c (print_args_stub): Use get_frame_arch to get at the current architecture and replace current_gdbarch. (frame_info): Likewise. --- gdb/ChangeLog | 6 ++++++ gdb/stack.c | 12 ++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 83f4108..97ba6ed 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2007-11-21 Markus Deuling + + * stack.c (print_args_stub): Use get_frame_arch to get at the current + architecture and replace current_gdbarch. + (frame_info): Likewise. + 2007-11-21 Nick Roberts * varobj.c (c_variable_editable, cplus_variable_editable) diff --git a/gdb/stack.c b/gdb/stack.c index 220a411..caf23a4 100644 --- a/gdb/stack.c +++ b/gdb/stack.c @@ -409,11 +409,12 @@ static int print_args_stub (void *args) { struct print_args_args *p = args; + struct gdbarch *gdbarch = get_frame_arch (p->frame); int numargs; - if (gdbarch_frame_num_args_p (current_gdbarch)) + if (gdbarch_frame_num_args_p (gdbarch)) { - numargs = gdbarch_frame_num_args (current_gdbarch, p->frame); + numargs = gdbarch_frame_num_args (gdbarch, p->frame); gdb_assert (numargs >= 0); } else @@ -893,15 +894,15 @@ frame_info (char *addr_exp, int from_tty) struct gdbarch *gdbarch; fi = parse_frame_specification_1 (addr_exp, "No stack.", &selected_frame_p); + gdbarch = get_frame_arch (fi); /* Name of the value returned by get_frame_pc(). Per comments, "pc" is not a good name. */ - if (gdbarch_pc_regnum (current_gdbarch) >= 0) + if (gdbarch_pc_regnum (gdbarch) >= 0) /* OK, this is weird. The gdbarch_pc_regnum hardware register's value can easily not match that of the internal value returned by get_frame_pc(). */ - pc_regname = gdbarch_register_name (current_gdbarch, - gdbarch_pc_regnum (current_gdbarch)); + pc_regname = gdbarch_register_name (gdbarch, gdbarch_pc_regnum (gdbarch)); else /* But then, this is weird to. Even without gdbarch_pc_regnum, an architectures will often have a hardware register called "pc", @@ -910,7 +911,6 @@ frame_info (char *addr_exp, int from_tty) pc_regname = "pc"; find_frame_sal (fi, &sal); - gdbarch = get_frame_arch (fi); func = get_frame_function (fi); /* FIXME: cagney/2002-11-28: Why bother? Won't sal.symtab contain the same value? */ -- 2.7.4