summaryrefslogtreecommitdiff
path: root/gdb/gnu-v3-abi.c
diff options
context:
space:
mode:
authorMarkus Deuling <deuling@de.ibm.com>2007-11-07 06:53:41 +0000
committerMarkus Deuling <deuling@de.ibm.com>2007-11-07 06:53:41 +0000
commitd833961aadaa3ecb2cb571642a95545db8e0aa9e (patch)
tree66c4d5335dcc2536a8920215bcecdcad93679644 /gdb/gnu-v3-abi.c
parent37c964dd93c8dc5a54706dcea90980196ca7c0ac (diff)
downloadgdb-d833961aadaa3ecb2cb571642a95545db8e0aa9e.tar.gz
2007-11-07 Markus Deuling <deuling@de.ibm.com>
* shnbsd-tdep.c (shnbsd_supply_gregset, shnbsd_collect_gregset): Use get_regcache_arch to get at the current architecture by regcache. * xstormy16-tdep.c (xstormy16_frame_prev_register): Use get_frame_arch to get at the current architecture by frame_info. * fbsd-nat.c (fbsd_make_corefile_notes): Use get_regcache_arch to get at the current architecture by regcache. * gnu-v3-abi.c (gnuv3_skip_trampoline): Use get_frame_arch to get at the current architecture by frame_info. (build_gdb_vtable_type): Replace current_gdbarch by gdbarch. * aix-thread.c (special_register_p): Add gdbarch as parameter. (fetch_regs_kernel_thread, store_regs_kernel_thread): Add gdbarch to caller of special_register_p.
Diffstat (limited to 'gdb/gnu-v3-abi.c')
-rw-r--r--gdb/gnu-v3-abi.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/gdb/gnu-v3-abi.c b/gdb/gnu-v3-abi.c
index c3e07a10675..a76db90874a 100644
--- a/gdb/gnu-v3-abi.c
+++ b/gdb/gnu-v3-abi.c
@@ -98,9 +98,7 @@ enum {
described above, laid out appropriately for ARCH.
We use this function as the gdbarch per-architecture data
- initialization function. We assume that the gdbarch framework
- calls the per-architecture data initialization functions after it
- sets current_gdbarch to the new architecture. */
+ initialization function. */
static void *
build_gdb_vtable_type (struct gdbarch *arch)
{
@@ -116,7 +114,7 @@ build_gdb_vtable_type (struct gdbarch *arch)
/* ARCH can't give us the true ptrdiff_t type, so we guess. */
struct type *ptrdiff_type
= init_type (TYPE_CODE_INT,
- gdbarch_ptr_bit (current_gdbarch) / TARGET_CHAR_BIT, 0,
+ gdbarch_ptr_bit (arch) / TARGET_CHAR_BIT, 0,
"ptrdiff_t", 0);
/* We assume no padding is necessary, since GDB doesn't know
@@ -680,12 +678,12 @@ static CORE_ADDR
gnuv3_skip_trampoline (struct frame_info *frame, CORE_ADDR stop_pc)
{
CORE_ADDR real_stop_pc, method_stop_pc;
+ struct gdbarch *gdbarch = get_frame_arch (frame);
struct minimal_symbol *thunk_sym, *fn_sym;
struct obj_section *section;
char *thunk_name, *fn_name;
- real_stop_pc = gdbarch_skip_trampoline_code
- (current_gdbarch, frame, stop_pc);
+ real_stop_pc = gdbarch_skip_trampoline_code (gdbarch, frame, stop_pc);
if (real_stop_pc == 0)
real_stop_pc = stop_pc;
@@ -709,7 +707,7 @@ gnuv3_skip_trampoline (struct frame_info *frame, CORE_ADDR stop_pc)
method_stop_pc = SYMBOL_VALUE_ADDRESS (fn_sym);
real_stop_pc = gdbarch_skip_trampoline_code
- (current_gdbarch, frame, method_stop_pc);
+ (gdbarch, frame, method_stop_pc);
if (real_stop_pc == 0)
real_stop_pc = method_stop_pc;