aboutsummaryrefslogtreecommitdiff
path: root/gdb/mips-tdep.c
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2009-07-02 12:46:19 +0000
committerUlrich Weigand <uweigand@de.ibm.com>2009-07-02 12:46:19 +0000
commitdf4df182b49ab6808495f557d3727b8dfd4b98da (patch)
tree7df1585d4087550709356201e912e9ee285cb675 /gdb/mips-tdep.c
parent69feb676087cb0883eb5feb38558dc3252059312 (diff)
downloadgdb-df4df182b49ab6808495f557d3727b8dfd4b98da.zip
gdb-df4df182b49ab6808495f557d3727b8dfd4b98da.tar.gz
gdb-df4df182b49ab6808495f557d3727b8dfd4b98da.tar.bz2
* gdbtypes.h (builtin_type_int0, builtin_type_int8, builtin_type_uint8,
builtin_type_int16, builtin_type_uint16, builtin_type_int32, builtin_type_uint32, builtin_type_int64, builtin_type_uint64, builtin_type_int128, builtin_type_uint128): Remove. (struct builtin_type): New members builtin_int0, builtin_int8, builtin_uint8, builtin_int16, builtin_uint16, builtin_int32, builtin_uint32, builtin_int64, builtin_uint64, builtin_int128, and builtin_uint128. * gdbtypes.c (builtin_type_int0, builtin_type_int8, builtin_type_uint8, builtin_type_int16, builtin_type_uint16, builtin_type_int32, builtin_type_uint32, builtin_type_int64, builtin_type_uint64, builtin_type_int128, builtin_type_uint128): Remove. (_initialize_gdbtypes): Do not initialize them. (gdbtypes_post_init): Initialize fixed-size integer types. * dwarf2expr.c (unsigned_address_type, signed_address_type): Add GDBARCH argument. Return platform-specific type. (dwarf2_read_address, execute_stack_op): Update calls. * target-descriptions.c (tdesc_gdb_type): Use platform-specific types instead of global builtin_int_... variables. * mi/mi-main.c (mi_cmd_data_read_memory): Likewise. * printcmd.c (do_examine): Likewise. * jv-exp.y (parse_number): Likewise. * alpha-tdep.c (alpha_register_type, alpha_push_dummy_call, alpha_store_return_value): Likewise. * amd64-linux-tdep.c (amd64_linux_register_type): Likewise. * amd64-tdep.c (amd64_register_type): Likewise. * arm-tdep.c (arm_register_type): Likewise. * avr-tdep.c (avr_register_type): Likewise. * cris-tdep.c (cris_register_type, crisv32_register_type): Likewise. * frv-tdep.c (frv_register_type): Likewise. * h8300-tdep.c h8300_register_type): Likewise. * hppa-tdep.c (hppa64_push_dummy_call, hppa32_register_type, hppa64_register_type): Likewise. * i386-tdep.c (i386_mmx_type, i386_sse_type): Likewise. * iq2000-tdep.c (iq2000_register_type): Likewise. * lm32-tdep.c (lm32_register_type, lm32_push_dummy_call): Likewise. * m32r-tdep.c (m32r_register_type): Likewise. * m68hc11-tdep.c (m68hc11_register_type, m68hc11_pseudo_register_read, m68hc11_pseudo_register_write): Likewise. * m68k-tdep.c (m68k_register_type): Likewise. * m88k-tdep.c (m88k_register_type, m88k_store_arguments): Likewise. * mep-tdep.c (mep_register_type): Likewise. * mips-tdep.c (mips_register_type, mips_pseudo_register_type, mips_print_fp_register): Likewise. * moxie-tdep.c (moxie_register_type): Likewise. * mt-tdep.c (mt_copro_register_type, mt_register_type): Likewise. * rs6000-tdep.c (rs6000_builtin_type_vec64, rs6000_builtin_type_vec128): Likewise. * score-tdep.c (score_register_type): Likewise. * sparc-tdep.c (sparc32_register_type, sparc32_store_arguments): Likewise. * sparc64-tdep.c (sparc64_register_type, sparc64_store_arguments): Likewise. * spu-tdep.c (spu_builtin_type_vec128, spu_register_type): Likewise. * v850-tdep.c (v850_register_type): Likewise. * xstormy16-tdep.c (xstormy16_register_type): Likewise. * xtensa-tdep.c (xtensa_register_type): Likewise. * mt-tdep.c (struct gdbarch_tdep): New data structure. (mt_gdbarch_init): Alloc TDEP structures. (mt_register_type): Cache coprocessor type in TDEP instead of static global variable. * xtensa-tdep.h (struct gdbarch_tdep): Add type_entries member. * xtensa-tdep.c (type_entries): Remove. (xtensa_register_type): Cache fixed-size types in TDEP instead of in global variable.
Diffstat (limited to 'gdb/mips-tdep.c')
-rw-r--r--gdb/mips-tdep.c26
1 files changed, 14 insertions, 12 deletions
diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c
index ccd2069..2af536c 100644
--- a/gdb/mips-tdep.c
+++ b/gdb/mips-tdep.c
@@ -679,9 +679,9 @@ mips_register_type (struct gdbarch *gdbarch, int regnum)
/* The raw or ISA registers. These are all sized according to
the ISA regsize. */
if (mips_isa_regsize (gdbarch) == 4)
- return builtin_type_int32;
+ return builtin_type (gdbarch)->builtin_int32;
else
- return builtin_type_int64;
+ return builtin_type (gdbarch)->builtin_int64;
}
else
{
@@ -692,19 +692,19 @@ mips_register_type (struct gdbarch *gdbarch, int regnum)
&& regnum <= gdbarch_num_regs (gdbarch) + MIPS_LAST_EMBED_REGNUM)
/* The pseudo/cooked view of the embedded registers is always
32-bit. The raw view is handled below. */
- return builtin_type_int32;
+ return builtin_type (gdbarch)->builtin_int32;
else if (gdbarch_tdep (gdbarch)->mips64_transfers_32bit_regs_p)
/* The target, while possibly using a 64-bit register buffer,
is only transfering 32-bits of each integer register.
Reflect this in the cooked/pseudo (ABI) register value. */
- return builtin_type_int32;
+ return builtin_type (gdbarch)->builtin_int32;
else if (mips_abi_regsize (gdbarch) == 4)
/* The ABI is restricted to 32-bit registers (the ISA could be
32- or 64-bit). */
- return builtin_type_int32;
+ return builtin_type (gdbarch)->builtin_int32;
else
/* 64-bit ABI. */
- return builtin_type_int64;
+ return builtin_type (gdbarch)->builtin_int64;
}
}
@@ -741,7 +741,7 @@ mips_pseudo_register_type (struct gdbarch *gdbarch, int regnum)
the necessary 32 bits, but older versions of GDB expected 64,
so allow the target to provide 64 bits without interfering
with the displayed type. */
- return builtin_type_int32;
+ return builtin_type (gdbarch)->builtin_int32;
}
/* Use pointer types for registers if we can. For n32 we can not,
@@ -757,7 +757,7 @@ mips_pseudo_register_type (struct gdbarch *gdbarch, int regnum)
if (mips_abi_regsize (gdbarch) == 4 && TYPE_LENGTH (rawtype) == 8
&& rawnum >= MIPS_ZERO_REGNUM && rawnum <= MIPS_EMBED_PC_REGNUM)
- return builtin_type_int32;
+ return builtin_type (gdbarch)->builtin_int32;
/* For all other registers, pass through the hardware type. */
return rawtype;
@@ -4396,8 +4396,9 @@ mips_print_fp_register (struct ui_file *file, struct frame_info *frame,
flt1 = unpack_double (mips_float_register_type (), raw_buffer, &inv1);
get_formatted_print_options (&opts, 'x');
- print_scalar_formatted (raw_buffer, builtin_type_uint32, &opts, 'w',
- file);
+ print_scalar_formatted (raw_buffer,
+ builtin_type (gdbarch)->builtin_uint32,
+ &opts, 'w', file);
fprintf_filtered (file, " flt: ");
if (inv1)
@@ -4430,8 +4431,9 @@ mips_print_fp_register (struct ui_file *file, struct frame_info *frame,
doub = unpack_double (mips_double_register_type (), raw_buffer, &inv2);
get_formatted_print_options (&opts, 'x');
- print_scalar_formatted (raw_buffer, builtin_type_uint64, &opts, 'g',
- file);
+ print_scalar_formatted (raw_buffer,
+ builtin_type (gdbarch)->builtin_uint64,
+ &opts, 'g', file);
fprintf_filtered (file, " flt: ");
if (inv1)