aboutsummaryrefslogtreecommitdiff
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
commit9970f04b039f5b71319c17f15231b15d23bed38a (patch)
treed9cf8fee68535f94ed017e366fb13c8be7224726 /gdb/gnu-v3-abi.c
parent0b9dfe2bb3153eaac5ecff3044251183fa6abaa7 (diff)
downloadgdb-9970f04b039f5b71319c17f15231b15d23bed38a.zip
gdb-9970f04b039f5b71319c17f15231b15d23bed38a.tar.gz
gdb-9970f04b039f5b71319c17f15231b15d23bed38a.tar.bz2
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 c3e07a1..a76db90 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;