From 47a355223da42cb96d6a258bd09b55a7fa549149 Mon Sep 17 00:00:00 2001 From: Mark Kettenis Date: Sat, 14 May 2005 19:43:18 +0000 Subject: [PATCH] * mips-tdep.c (mips_pseudo_register_read) (mips_pseudo_register_write): Change type of last argument to `gdb_byte *'. (mips_register_to_value, mips_value_to_register): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (mips_fetch_instruction, fetch_mips_16): Use gdb_byte for buf. (mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call) (mips_o32_push_dummy_call, mips_o32_return_value): Use `const gdb_byte *' for val and gdb_byte for valbuf. Remove casts that are no longer needed. (mips_eabi_return_value, mips_n32n64_return_value) (mips_o32_return_value, mips_o64_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (mips_read_fp_register_single): Change type of last argument to `gdb_byte *'. Use `gdb_byte *' for raw_buffer. (mips_read_fp_register_double): Change type of last argument to `gdb_byte *'. (mips_print_fp_register): Use `gdb_byte *' for raw_buffer. Remove casts that are no longer needed. (mips_print_register, print_gp_register_row): Use gdb_byte for raw_buffer. Remove casts that are no longer needed. (mips_single_step_through_delay): Use gdb_byte for buf. (mips_breakpoint_from_pc): Change return type to `const gdb_byte *'. Use gdb_byte for mips16_big_breakpoint, big_breakpoint, pmon_big_breakpoint, idt_big_breakpoint, mips16_little_breakpoint, little_breakpoint, pmon_little_breakpoint and idt_little_breakpoint. (mips_integer_to_address): Use `gdb_byte *' for tmp. --- gdb/ChangeLog | 30 ++++++++++++++++ gdb/mips-tdep.c | 94 ++++++++++++++++++++++++------------------------- 2 files changed, 76 insertions(+), 48 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index ee8317291f..611a65b972 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,35 @@ 2005-05-14 Mark Kettenis + * mips-tdep.c (mips_pseudo_register_read) + (mips_pseudo_register_write): Change type of last argument to + `gdb_byte *'. + (mips_register_to_value, mips_value_to_register): Change type of + last argument to `gdb_byte *'. Remove casts that are no longer + needed. + (mips_fetch_instruction, fetch_mips_16): Use gdb_byte for buf. + (mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call) + (mips_o32_push_dummy_call, mips_o32_return_value): Use `const + gdb_byte *' for val and gdb_byte for valbuf. Remove casts that + are no longer needed. + (mips_eabi_return_value, mips_n32n64_return_value) + (mips_o32_return_value, mips_o64_return_value): Change type of + readbuf and writebuf arguments to `gdb_byte *'. + (mips_read_fp_register_single): Change type of last argument to + `gdb_byte *'. Use `gdb_byte *' for raw_buffer. + (mips_read_fp_register_double): Change type of last argument to + `gdb_byte *'. + (mips_print_fp_register): Use `gdb_byte *' for raw_buffer. Remove + casts that are no longer needed. + (mips_print_register, print_gp_register_row): Use gdb_byte for + raw_buffer. Remove casts that are no longer needed. + (mips_single_step_through_delay): Use gdb_byte for buf. + (mips_breakpoint_from_pc): Change return type to `const gdb_byte + *'. Use gdb_byte for mips16_big_breakpoint, big_breakpoint, + pmon_big_breakpoint, idt_big_breakpoint, mips16_little_breakpoint, + little_breakpoint, pmon_little_breakpoint and + idt_little_breakpoint. + (mips_integer_to_address): Use `gdb_byte *' for tmp. + * config/m68k/obsd.mt (DEPRECATED_TM_FILE): Remove. * config/i386/obsd.mt (DEPRECATED_TM_FILE): Remove. * config/i386/obsd64.mt (DEPRECATED_TM_FILE): Remove. diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c index 73125b3e33..ff8669252a 100644 --- a/gdb/mips-tdep.c +++ b/gdb/mips-tdep.c @@ -1,8 +1,8 @@ /* Target-dependent code for the MIPS architecture, for GDB, the GNU Debugger. Copyright 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, - 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software - Foundation, Inc. + 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 + Free Software Foundation, Inc. Contributed by Alessandro Forin(af@cs.cmu.edu) at CMU and by Per Bothner(bothner@cs.wisc.edu) at U.Wisconsin. @@ -568,7 +568,7 @@ mips_register_reggroup_p (struct gdbarch *gdbarch, int regnum, static void mips_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache, - int cookednum, void *buf) + int cookednum, gdb_byte *buf) { int rawnum = cookednum % NUM_REGS; gdb_assert (cookednum >= NUM_REGS && cookednum < 2 * NUM_REGS); @@ -590,7 +590,7 @@ mips_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache, static void mips_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum, - const void *buf) + const gdb_byte *buf) { int rawnum = cookednum % NUM_REGS; gdb_assert (cookednum >= NUM_REGS && cookednum < 2 * NUM_REGS); @@ -654,18 +654,18 @@ mips_convert_register_p (int regnum, struct type *type) static void mips_register_to_value (struct frame_info *frame, int regnum, - struct type *type, void *to) + struct type *type, gdb_byte *to) { - get_frame_register (frame, regnum + 0, (char *) to + 4); - get_frame_register (frame, regnum + 1, (char *) to + 0); + get_frame_register (frame, regnum + 0, to + 4); + get_frame_register (frame, regnum + 1, to + 0); } static void mips_value_to_register (struct frame_info *frame, int regnum, - struct type *type, const void *from) + struct type *type, const gdb_byte *from) { - put_frame_register (frame, regnum + 0, (const char *) from + 4); - put_frame_register (frame, regnum + 1, (const char *) from + 0); + put_frame_register (frame, regnum + 0, from + 4); + put_frame_register (frame, regnum + 1, from + 0); } /* Return the GDB type object for the "standard" data type of data in @@ -847,7 +847,7 @@ mips_write_pc (CORE_ADDR pc, ptid_t ptid) static ULONGEST mips_fetch_instruction (CORE_ADDR addr) { - char buf[MIPS_INSN32_SIZE]; + gdb_byte buf[MIPS_INSN32_SIZE]; int instlen; int status; @@ -1108,7 +1108,7 @@ extended_offset (unsigned int extension) static unsigned int fetch_mips_16 (CORE_ADDR pc) { - char buf[8]; + gdb_byte buf[8]; pc &= 0xfffffffe; /* clear the low order bit */ target_read_memory (pc, buf, 2); return extract_unsigned_integer (buf, 2); @@ -2442,8 +2442,8 @@ mips_eabi_push_dummy_call (struct gdbarch *gdbarch, struct value *function, from first to last. */ for (argnum = 0; argnum < nargs; argnum++) { - char *val; - char valbuf[MAX_REGISTER_SIZE]; + const gdb_byte *val; + gdb_byte valbuf[MAX_REGISTER_SIZE]; struct value *arg = args[argnum]; struct type *arg_type = check_typedef (value_type (arg)); int len = TYPE_LENGTH (arg_type); @@ -2468,7 +2468,7 @@ mips_eabi_push_dummy_call (struct gdbarch *gdbarch, struct value *function, fprintf_unfiltered (gdb_stdlog, " push"); } else - val = (char *) value_contents (arg); + val = value_contents (arg); /* 32-bit ABIs always start floating point arguments in an even-numbered floating point register. Round the FP register @@ -2652,7 +2652,7 @@ mips_eabi_push_dummy_call (struct gdbarch *gdbarch, struct value *function, static enum return_value_convention mips_eabi_return_value (struct gdbarch *gdbarch, struct type *type, struct regcache *regcache, - void *readbuf, const void *writebuf) + gdb_byte *readbuf, const gdb_byte *writebuf) { if (TYPE_LENGTH (type) > 2 * mips_abi_regsize (gdbarch)) return RETURN_VALUE_STRUCT_CONVENTION; @@ -2725,7 +2725,7 @@ mips_n32n64_push_dummy_call (struct gdbarch *gdbarch, struct value *function, from first to last. */ for (argnum = 0; argnum < nargs; argnum++) { - char *val; + const gdb_byte *val; struct value *arg = args[argnum]; struct type *arg_type = check_typedef (value_type (arg)); int len = TYPE_LENGTH (arg_type); @@ -2736,7 +2736,7 @@ mips_n32n64_push_dummy_call (struct gdbarch *gdbarch, struct value *function, "mips_n32n64_push_dummy_call: %d len=%d type=%d", argnum + 1, len, (int) typecode); - val = (char *) value_contents (arg); + val = value_contents (arg); if (fp_register_arg_p (typecode, arg_type) && float_argreg <= MIPS_LAST_FP_ARG_REGNUM) @@ -2902,7 +2902,7 @@ mips_n32n64_push_dummy_call (struct gdbarch *gdbarch, struct value *function, static enum return_value_convention mips_n32n64_return_value (struct gdbarch *gdbarch, struct type *type, struct regcache *regcache, - void *readbuf, const void *writebuf) + gdb_byte *readbuf, const gdb_byte *writebuf) { struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); if (TYPE_CODE (type) == TYPE_CODE_STRUCT @@ -3065,7 +3065,7 @@ mips_o32_push_dummy_call (struct gdbarch *gdbarch, struct value *function, from first to last. */ for (argnum = 0; argnum < nargs; argnum++) { - char *val; + const gdb_byte *val; struct value *arg = args[argnum]; struct type *arg_type = check_typedef (value_type (arg)); int len = TYPE_LENGTH (arg_type); @@ -3076,7 +3076,7 @@ mips_o32_push_dummy_call (struct gdbarch *gdbarch, struct value *function, "mips_o32_push_dummy_call: %d len=%d type=%d", argnum + 1, len, (int) typecode); - val = (char *) value_contents (arg); + val = value_contents (arg); /* 32-bit ABIs always start floating point arguments in an even-numbered floating point register. Round the FP register @@ -3317,7 +3317,7 @@ mips_o32_push_dummy_call (struct gdbarch *gdbarch, struct value *function, static enum return_value_convention mips_o32_return_value (struct gdbarch *gdbarch, struct type *type, struct regcache *regcache, - void *readbuf, const void *writebuf) + gdb_byte *readbuf, const gdb_byte *writebuf) { struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); @@ -3519,7 +3519,7 @@ mips_o64_push_dummy_call (struct gdbarch *gdbarch, struct value *function, from first to last. */ for (argnum = 0; argnum < nargs; argnum++) { - char *val; + const gdb_byte *val; struct value *arg = args[argnum]; struct type *arg_type = check_typedef (value_type (arg)); int len = TYPE_LENGTH (arg_type); @@ -3530,7 +3530,7 @@ mips_o64_push_dummy_call (struct gdbarch *gdbarch, struct value *function, "mips_o64_push_dummy_call: %d len=%d type=%d", argnum + 1, len, (int) typecode); - val = (char *) value_contents (arg); + val = value_contents (arg); /* 32-bit ABIs always start floating point arguments in an even-numbered floating point register. Round the FP register @@ -3771,7 +3771,7 @@ mips_o64_push_dummy_call (struct gdbarch *gdbarch, struct value *function, static enum return_value_convention mips_o64_return_value (struct gdbarch *gdbarch, struct type *type, struct regcache *regcache, - void *readbuf, const void *writebuf) + gdb_byte *readbuf, const gdb_byte *writebuf) { return RETURN_VALUE_STRUCT_CONVENTION; } @@ -3829,10 +3829,10 @@ mips_double_register_type (void) static void mips_read_fp_register_single (struct frame_info *frame, int regno, - char *rare_buffer) + gdb_byte *rare_buffer) { int raw_size = register_size (current_gdbarch, regno); - char *raw_buffer = alloca (raw_size); + gdb_byte *raw_buffer = alloca (raw_size); if (!frame_register_read (frame, regno, raw_buffer)) error (_("can't read register %d (%s)"), regno, REGISTER_NAME (regno)); @@ -3861,7 +3861,7 @@ mips_read_fp_register_single (struct frame_info *frame, int regno, static void mips_read_fp_register_double (struct frame_info *frame, int regno, - char *rare_buffer) + gdb_byte *rare_buffer) { int raw_size = register_size (current_gdbarch, regno); @@ -3898,14 +3898,12 @@ static void mips_print_fp_register (struct ui_file *file, struct frame_info *frame, int regnum) { /* do values for FP (float) regs */ - char *raw_buffer; + gdb_byte *raw_buffer; double doub, flt1; /* doubles extracted from raw hex data */ int inv1, inv2; - raw_buffer = - (char *) alloca (2 * - register_size (current_gdbarch, - mips_regnum (current_gdbarch)->fp0)); + raw_buffer = alloca (2 * register_size (current_gdbarch, + mips_regnum (current_gdbarch)->fp0)); fprintf_filtered (file, "%s:", REGISTER_NAME (regnum)); fprintf_filtered (file, "%*s", 4 - (int) strlen (REGISTER_NAME (regnum)), @@ -3972,7 +3970,7 @@ mips_print_register (struct ui_file *file, struct frame_info *frame, int regnum, int all) { struct gdbarch *gdbarch = get_frame_arch (frame); - char raw_buffer[MAX_REGISTER_SIZE]; + gdb_byte raw_buffer[MAX_REGISTER_SIZE]; int offset; if (TYPE_CODE (gdbarch_register_type (gdbarch, regnum)) == TYPE_CODE_FLT) @@ -4033,7 +4031,7 @@ print_gp_register_row (struct ui_file *file, struct frame_info *frame, { struct gdbarch *gdbarch = get_frame_arch (frame); /* do values for GP (int) regs */ - char raw_buffer[MAX_REGISTER_SIZE]; + gdb_byte raw_buffer[MAX_REGISTER_SIZE]; int ncols = (mips_abi_regsize (gdbarch) == 8 ? 4 : 8); /* display cols per row */ int col, byte; int regnum; @@ -4082,11 +4080,11 @@ print_gp_register_row (struct ui_file *file, struct frame_info *frame, register_size (current_gdbarch, regnum) - register_size (current_gdbarch, regnum); byte < register_size (current_gdbarch, regnum); byte++) - fprintf_filtered (file, "%02x", (unsigned char) raw_buffer[byte]); + fprintf_filtered (file, "%02x", raw_buffer[byte]); else for (byte = register_size (current_gdbarch, regnum) - 1; byte >= 0; byte--) - fprintf_filtered (file, "%02x", (unsigned char) raw_buffer[byte]); + fprintf_filtered (file, "%02x", raw_buffer[byte]); fprintf_filtered (file, " "); col++; } @@ -4152,7 +4150,7 @@ mips_single_step_through_delay (struct gdbarch *gdbarch, struct frame_info *frame) { CORE_ADDR pc = get_frame_pc (frame); - char buf[MIPS_INSN32_SIZE]; + gdb_byte buf[MIPS_INSN32_SIZE]; /* There is no branch delay slot on MIPS16. */ if (mips_pc_is_mips16 (pc)) @@ -4388,14 +4386,14 @@ gdb_print_insn_mips (bfd_vma memaddr, struct disassemble_info *info) (if necessary) to point to the actual memory location where the breakpoint should be inserted. */ -static const unsigned char * +static const gdb_byte * mips_breakpoint_from_pc (CORE_ADDR *pcptr, int *lenptr) { if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG) { if (mips_pc_is_mips16 (*pcptr)) { - static unsigned char mips16_big_breakpoint[] = { 0xe8, 0xa5 }; + static gdb_byte mips16_big_breakpoint[] = { 0xe8, 0xa5 }; *pcptr = unmake_mips16_addr (*pcptr); *lenptr = sizeof (mips16_big_breakpoint); return mips16_big_breakpoint; @@ -4405,9 +4403,9 @@ mips_breakpoint_from_pc (CORE_ADDR *pcptr, int *lenptr) /* The IDT board uses an unusual breakpoint value, and sometimes gets confused when it sees the usual MIPS breakpoint instruction. */ - static unsigned char big_breakpoint[] = { 0, 0x5, 0, 0xd }; - static unsigned char pmon_big_breakpoint[] = { 0, 0, 0, 0xd }; - static unsigned char idt_big_breakpoint[] = { 0, 0, 0x0a, 0xd }; + static gdb_byte big_breakpoint[] = { 0, 0x5, 0, 0xd }; + static gdb_byte pmon_big_breakpoint[] = { 0, 0, 0, 0xd }; + static gdb_byte idt_big_breakpoint[] = { 0, 0, 0x0a, 0xd }; *lenptr = sizeof (big_breakpoint); @@ -4425,16 +4423,16 @@ mips_breakpoint_from_pc (CORE_ADDR *pcptr, int *lenptr) { if (mips_pc_is_mips16 (*pcptr)) { - static unsigned char mips16_little_breakpoint[] = { 0xa5, 0xe8 }; + static gdb_byte mips16_little_breakpoint[] = { 0xa5, 0xe8 }; *pcptr = unmake_mips16_addr (*pcptr); *lenptr = sizeof (mips16_little_breakpoint); return mips16_little_breakpoint; } else { - static unsigned char little_breakpoint[] = { 0xd, 0, 0x5, 0 }; - static unsigned char pmon_little_breakpoint[] = { 0xd, 0, 0, 0 }; - static unsigned char idt_little_breakpoint[] = { 0xd, 0x0a, 0, 0 }; + static gdb_byte little_breakpoint[] = { 0xd, 0, 0x5, 0 }; + static gdb_byte pmon_little_breakpoint[] = { 0xd, 0, 0, 0 }; + static gdb_byte idt_little_breakpoint[] = { 0xd, 0x0a, 0, 0 }; *lenptr = sizeof (little_breakpoint); @@ -4615,7 +4613,7 @@ static CORE_ADDR mips_integer_to_address (struct gdbarch *gdbarch, struct type *type, const bfd_byte *buf) { - char *tmp = alloca (TYPE_LENGTH (builtin_type_void_data_ptr)); + gdb_byte *tmp = alloca (TYPE_LENGTH (builtin_type_void_data_ptr)); LONGEST val = unpack_long (type, buf); store_signed_integer (tmp, TYPE_LENGTH (builtin_type_void_data_ptr), val); return extract_signed_integer (tmp,