X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fmep-tdep.c;h=28c826ec6849aff905bd579dbbe2bc64a78119de;hb=9f1b45b0da430a7a7abf9e54acbe6f2ef9d3a763;hp=657ef422095e275a392503485fadf2df77e7a3d2;hpb=28e7fd62340426746f9c896cbc40c5d374ec47aa;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/mep-tdep.c b/gdb/mep-tdep.c index 657ef42209..28c826ec68 100644 --- a/gdb/mep-tdep.c +++ b/gdb/mep-tdep.c @@ -1,6 +1,6 @@ /* Target-dependent code for the Toshiba MeP for GDB, the GNU debugger. - Copyright (C) 2001-2013 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. Contributed by Red Hat, Inc. @@ -27,7 +27,7 @@ #include "gdbtypes.h" #include "gdbcmd.h" #include "gdbcore.h" -#include "gdb_string.h" +#include #include "value.h" #include "inferior.h" #include "dis-asm.h" @@ -1125,13 +1125,6 @@ mep_read_pc (struct regcache *regcache) return pc; } -static void -mep_write_pc (struct regcache *regcache, CORE_ADDR pc) -{ - regcache_cooked_write_unsigned (regcache, MEP_PC_REGNUM, pc); -} - - static enum register_status mep_pseudo_cr32_read (struct gdbarch *gdbarch, struct regcache *regcache, @@ -1143,7 +1136,7 @@ mep_pseudo_cr32_read (struct gdbarch *gdbarch, /* Read the raw register into a 64-bit buffer, and then return the appropriate end of that buffer. */ int rawnum = mep_pseudo_to_raw[cookednum]; - char buf64[8]; + gdb_byte buf64[8]; gdb_assert (TYPE_LENGTH (register_type (gdbarch, rawnum)) == sizeof (buf64)); gdb_assert (TYPE_LENGTH (register_type (gdbarch, cookednum)) == 4); @@ -1229,7 +1222,7 @@ mep_pseudo_cr32_write (struct gdbarch *gdbarch, /* Expand the 32-bit value into a 64-bit value, and write that to the pseudoregister. */ int rawnum = mep_pseudo_to_raw[cookednum]; - char buf64[8]; + gdb_byte buf64[8]; gdb_assert (TYPE_LENGTH (register_type (gdbarch, rawnum)) == sizeof (buf64)); gdb_assert (TYPE_LENGTH (register_type (gdbarch, cookednum)) == 4); @@ -1424,13 +1417,13 @@ mep_pc_in_vliw_section (CORE_ADDR pc) anyway. */ static CORE_ADDR -mep_get_insn (struct gdbarch *gdbarch, CORE_ADDR pc, long *insn) +mep_get_insn (struct gdbarch *gdbarch, CORE_ADDR pc, unsigned long *insn) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); int pc_in_vliw_section; int vliw_mode; int insn_len; - char buf[2]; + gdb_byte buf[2]; *insn = 0; @@ -2358,7 +2351,7 @@ mep_push_dummy_call (struct gdbarch *gdbarch, struct value *function, } else { - char buf[MEP_GPR_SIZE]; + gdb_byte buf[MEP_GPR_SIZE]; store_unsigned_integer (buf, MEP_GPR_SIZE, byte_order, value); write_memory (arg_stack, buf, MEP_GPR_SIZE); arg_stack += MEP_GPR_SIZE; @@ -2470,8 +2463,8 @@ mep_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) /* Register set. */ set_gdbarch_read_pc (gdbarch, mep_read_pc); - set_gdbarch_write_pc (gdbarch, mep_write_pc); set_gdbarch_num_regs (gdbarch, MEP_NUM_RAW_REGS); + set_gdbarch_pc_regnum (gdbarch, MEP_PC_REGNUM); set_gdbarch_sp_regnum (gdbarch, MEP_SP_REGNUM); set_gdbarch_register_name (gdbarch, mep_register_name); set_gdbarch_register_type (gdbarch, mep_register_type);