X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fdbug-rom.c;h=b8016e786458ccaabfbd01872d8cc6f5a42baf46;hb=b5914469f9dd6b332ed51eea9b5954bd12375cd7;hp=c4f25576118ca335a42b913e41c0d797116385f2;hpb=a9762ec78a53fbe9209fe1654db42df0cd328d50;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/dbug-rom.c b/gdb/dbug-rom.c index c4f2557611..b8016e7864 100644 --- a/gdb/dbug-rom.c +++ b/gdb/dbug-rom.c @@ -1,5 +1,5 @@ /* Remote debugging interface to dBUG ROM monitor for GDB, the GNU debugger. - Copyright (C) 1996, 1998, 1999, 2000, 2001, 2007 + Copyright (C) 1996, 1998, 1999, 2000, 2001, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. Written by Stan Shebs of Cygnus Support. @@ -40,6 +40,7 @@ dbug_supply_register (struct regcache *regcache, char *regname, int regnamelen, char *val, int vallen) { int regno; + struct gdbarch *gdbarch = get_regcache_arch (regcache); if (regnamelen != 2) return; @@ -49,12 +50,12 @@ dbug_supply_register (struct regcache *regcache, char *regname, case 'S': if (regname[1] != 'R') return; - regno = gdbarch_ps_regnum (current_gdbarch); + regno = gdbarch_ps_regnum (gdbarch); break; case 'P': if (regname[1] != 'C') return; - regno = gdbarch_pc_regnum (current_gdbarch); + regno = gdbarch_pc_regnum (gdbarch); break; case 'D': if (regname[1] < '0' || regname[1] > '7') @@ -73,10 +74,10 @@ dbug_supply_register (struct regcache *regcache, char *regname, monitor_supply_register (regcache, regno, val); } -/* This array of registers needs to match the indexes used by GDB. The - whole reason this exists is because the various ROM monitors use - different names than GDB does, and don't support all the registers - either. So, typing "info reg sp" becomes an "A7". */ +/* This array of registers needs to match the indexes used by GDB. + The whole reason this exists is because the various ROM monitors + use different names than GDB does, and don't support all the + registers either. So, typing "info reg sp" becomes an "A7". */ static const char * dbug_regname (int index) @@ -89,8 +90,7 @@ dbug_regname (int index) /* no float registers */ }; - if ((index >= (sizeof (regnames) / sizeof (regnames[0]))) - || (index < 0) || (index >= gdbarch_num_regs (current_gdbarch))) + if (index >= ARRAY_SIZE (regnames) || index < 0) return NULL; else return regnames[index]; @@ -107,7 +107,8 @@ static char *dbug_inits[] = static void init_dbug_cmds (void) { - dbug_cmds.flags = MO_CLR_BREAK_USES_ADDR | MO_GETMEM_NEEDS_RANGE | MO_FILL_USES_ADDR; + dbug_cmds.flags = MO_CLR_BREAK_USES_ADDR + | MO_GETMEM_NEEDS_RANGE | MO_FILL_USES_ADDR; dbug_cmds.init = dbug_inits; /* Init strings */ dbug_cmds.cont = "go\r"; /* continue command */ dbug_cmds.step = "trace\r"; /* single step */ @@ -139,7 +140,8 @@ init_dbug_cmds (void) dbug_cmds.getreg.term = NULL; /* getreg.term */ dbug_cmds.getreg.term_cmd = NULL; /* getreg.term_cmd */ dbug_cmds.dump_registers = "rd\r"; /* dump_registers */ - dbug_cmds.register_pattern = "\\(\\w+\\) +:\\([0-9a-fA-F]+\\b\\)"; /* register_pattern */ + /* register_pattern */ + dbug_cmds.register_pattern = "\\(\\w+\\) +:\\([0-9a-fA-F]+\\b\\)"; dbug_cmds.supply_register = dbug_supply_register; dbug_cmds.load_routine = NULL; /* load_routine (defaults to SRECs) */ dbug_cmds.load = "dl\r"; /* download command */