diff options
-rw-r--r-- | gdb/ChangeLog | 11 | ||||
-rw-r--r-- | gdb/dbug-rom.c | 104 | ||||
-rw-r--r-- | gdb/w89k-rom.c | 105 |
3 files changed, 110 insertions, 110 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index ed4ffec..6306707 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,14 @@ +Tue May 19 17:23:54 1998 John Metzler <jmetzler@cygnus.com> + + * w89k-rom.c (_initialize_w89k ): Call new init function + (init_w89k_cmds): Convert to dynamic initialization of + monitor_ops data structure for forward compatability with + additions to the data structure. + * dbug-rom.c (_initialize_dbug_rom): ditto + (init_dbug_cmds): ditto + * m32r-rom.c (_initialize_m32r_rom): ditto + (init_m32r_cmds): ditto + Mon May 18 13:34:27 1998 Keith Seitz <keiths@cygnus.com> * dbxread.c (process_one_symbol): If block addresses are relative to diff --git a/gdb/dbug-rom.c b/gdb/dbug-rom.c index bffecc7..93c1f88 100644 --- a/gdb/dbug-rom.c +++ b/gdb/dbug-rom.c @@ -85,66 +85,59 @@ static char *dbug_regnames[NUM_REGS] = "SR", "PC" /* no float registers */ }; - static struct target_ops dbug_ops; +static struct monitor_ops dbug_cmds ; static char *dbug_inits[] = {"\r", NULL}; -static struct monitor_ops dbug_cmds = + +static void init_dbug_cmds(void) { - MO_CLR_BREAK_USES_ADDR | MO_GETMEM_NEEDS_RANGE | MO_FILL_USES_ADDR, - dbug_inits, /* Init strings */ - "go\r", /* continue command */ - "step\r", /* single step */ - NULL, /* interrupt command */ - "br %x\r", /* set a breakpoint */ - "br -c %x\r", /* clear a breakpoint */ - "br -c\r", /* clear all breakpoints */ - "bf.b %x %x %x", /* fill (start end val) */ - { - "mm.b %x %x\r", /* setmem.cmdb (addr, value) */ - "mm.w %x %x\r", /* setmem.cmdw (addr, value) */ - "mm.l %x %x\r", /* setmem.cmdl (addr, value) */ - NULL, /* setmem.cmdll (addr, value) */ - NULL, /* setmem.resp_delim */ - NULL, /* setmem.term */ - NULL /* setmem.term_cmd */ - }, - { - "md.b %x %x\r", /* getmem.cmdb (addr, addr2) */ - "md.w %x %x\r", /* getmem.cmdw (addr, addr2) */ - "md.l %x %x\r", /* getmem.cmdl (addr, addr2) */ - NULL, /* getmem.cmdll (addr, addr2) */ - ":", /* getmem.resp_delim */ - NULL, /* getmem.term */ - NULL /* getmem.term_cmd */ - }, - { - "rm %s %x\r", /* setreg.cmd (name, value) */ - NULL, /* setreg.resp_delim */ - NULL, /* setreg.term */ - NULL /* setreg.term_cmd */ - }, - { - "rd %s\r", /* getreg.cmd (name) */ - ":", /* getreg.resp_delim */ - NULL, /* getreg.term */ - NULL /* getreg.term_cmd */ - }, - "rd\r", /* dump_registers */ - "\\(\\w+\\) +:\\([0-9a-fA-F]+\\b\\)", /* register_pattern */ - dbug_supply_register, /* supply_register */ - NULL, /* load_routine (defaults to SRECs) */ - "dl\r", /* download command */ - "\n", /* load response */ - "dBUG>", /* monitor command prompt */ - "\r", /* end-of-line terminator */ - NULL, /* optional command terminator */ - &dbug_ops, /* target operations */ - SERIAL_1_STOPBITS, /* number of stop bits */ - dbug_regnames, /* registers names */ - MONITOR_OPS_MAGIC /* magic */ - }; + 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 = "step\r"; /* single step */ + dbug_cmds.stop = NULL; /* interrupt command */ + dbug_cmds.set_break = "br %x\r"; /* set a breakpoint */ + dbug_cmds.clr_break = "br -c %x\r"; /* clear a breakpoint */ + dbug_cmds.clr_all_break = "br -c\r"; /* clear all breakpoints */ + dbug_cmds.fill = "bf.b %x %x %x"; /* fill (start end val) */ + dbug_cmds.setmem.cmdb = "mm.b %x %x\r"; /* setmem.cmdb (addr, value) */ + dbug_cmds.setmem.cmdw = "mm.w %x %x\r"; /* setmem.cmdw (addr, value) */ + dbug_cmds.setmem.cmdl = "mm.l %x %x\r"; /* setmem.cmdl (addr, value) */ + dbug_cmds.setmem.cmdll = NULL; /* setmem.cmdll (addr, value) */ + dbug_cmds.setmem.resp_delim = NULL; /* setmem.resp_delim */ + dbug_cmds.setmem.term = NULL; /* setmem.term */ + dbug_cmds.setmem.term_cmd = NULL; /* setmem.term_cmd */ + dbug_cmds.getmem.cmdb = "md.b %x %x\r"; /* getmem.cmdb (addr, addr2) */ + dbug_cmds.getmem.cmdw = "md.w %x %x\r"; /* getmem.cmdw (addr, addr2) */ + dbug_cmds.getmem.cmdl = "md.l %x %x\r"; /* getmem.cmdl (addr, addr2) */ + dbug_cmds.getmem.cmdll = NULL; /* getmem.cmdll (addr, addr2) */ + dbug_cmds.getmem.resp_delim = ":"; /* getmem.resp_delim */ + dbug_cmds.getmem.term = NULL; /* getmem.term */ + dbug_cmds.getmem.term_cmd = NULL; /* getmem.term_cmd */ + dbug_cmds.setreg.cmd = "rm %s %x\r"; /* setreg.cmd (name, value) */ + dbug_cmds.setreg.resp_delim = NULL; /* setreg.resp_delim */ + dbug_cmds.setreg.term = NULL; /* setreg.term */ + dbug_cmds.setreg.term_cmd = NULL; /* setreg.term_cmd */ + dbug_cmds.getreg.cmd = "rd %s\r"; /* getreg.cmd (name) */ + dbug_cmds.getreg.resp_delim = ":"; /* getreg.resp_delim */ + 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 */ + dbug_cmds.supply_register = dbug_supply_register; /* supply_register */ + dbug_cmds.load_routine = NULL; /* load_routine (defaults to SRECs) */ + dbug_cmds.load = "dl\r"; /* download command */ + dbug_cmds.loadresp = "\n"; /* load response */ + dbug_cmds.prompt = "dBUG>"; /* monitor command prompt */ + dbug_cmds.line_term = "\r"; /* end-of-line terminator */ + dbug_cmds.cmd_end = NULL; /* optional command terminator */ + dbug_cmds.target = &dbug_ops ; /* target operations */ + dbug_cmds.stopbits = SERIAL_1_STOPBITS; /* number of stop bits */ + dbug_cmds.regnames = dbug_regnames; /* registers names */ + dbug_cmds.magic = MONITOR_OPS_MAGIC ; /* magic */ +} /* init_debug_ops */ static void dbug_open(args, from_tty) @@ -157,6 +150,7 @@ dbug_open(args, from_tty) void _initialize_dbug_rom () { + init_dbug_cmds() ; init_monitor_ops (&dbug_ops); dbug_ops.to_shortname = "dbug"; diff --git a/gdb/w89k-rom.c b/gdb/w89k-rom.c index ee23368..e6e63c4 100644 --- a/gdb/w89k-rom.c +++ b/gdb/w89k-rom.c @@ -26,6 +26,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "serial.h" #include "xmodem.h" + static void w89k_open PARAMS ((char *args, int from_tty)); /* @@ -242,62 +243,55 @@ static struct target_ops w89k_ops; static char *w89k_inits[] = {"\n", NULL}; -static struct monitor_ops w89k_cmds = +static struct monitor_ops w89k_cmds ; +static init_w89k_cmds(void) { - MO_GETMEM_NEEDS_RANGE|MO_FILL_USES_ADDR, /* flags */ - w89k_inits, /* Init strings */ - "g\n", /* continue command */ - "t\n", /* single step */ - "\003", /* Interrupt char (^C) */ - "bp %x\n", /* set a breakpoint */ - "bc %x\n", /* clear a breakpoint */ - "bc *\n", /* clear all breakpoints */ - "f %x %x %x\n", /* memory fill cmd */ - { - "eb %x %x\n", /* setmem.cmdb (addr, value) */ - "eh %x %x\n", /* setmem.cmdw (addr, value) */ - "ew %x %x\n", /* setmem.cmdl (addr, value) */ - NULL, /* setmem.cmdll (addr, value) */ - NULL, /* setreg.resp_delim */ - NULL, /* setreg.term */ - NULL, /* setreg.term_cmd */ - }, - { - "db %x %x\n", /* getmem.cmdb (startaddr, endaddr) */ - "dh %x %x\n", /* getmem.cmdw (startaddr, endaddr) */ - "dw %x %x\n", /* getmem.cmdl (startaddr, endaddr) */ - NULL, /* getmem.cmdll (startaddr, endaddr) */ - " ", /* getmem.resp_delim */ - NULL, /* getmem.term */ - NULL, /* getmem.term_cmd */ - }, - { - "r %s %x\n", /* setreg.cmd (name, value) */ - NULL, /* setreg.resp_delim */ - NULL, /* setreg.term */ - NULL, /* setreg.term_cmd */ - }, - { - "r %s\n", /* getreg.cmd (name) */ - "\r", /* getreg.resp_delim */ - NULL, /* getreg.term */ - NULL, /* getreg.term_cmd */ - }, - "r\n", /* dump_registers */ - "\\(\\w+\\)\\( +[0-9a-fA-F]+\\b\\)+", - w89k_supply_register, /* supply_register */ - w89k_load, /* load routine */ - "u %x\n", /* download command */ - "\021", /* load response (^Q) */ - "ROM>", /* monitor command prompt */ - "\n", /* end-of-line terminator */ - NULL, /* optional command terminator */ - &w89k_ops, /* target operations */ - SERIAL_1_STOPBITS, /* number of stop bits */ - w89k_regnames, /* register names */ - MONITOR_OPS_MAGIC /* magic */ - }; - + w89k_cmds.flags = MO_GETMEM_NEEDS_RANGE|MO_FILL_USES_ADDR; /* flags */ + w89k_cmds.init = w89k_inits; /* Init strings */ + w89k_cmds.cont = "g\n"; /* continue command */ + w89k_cmds.step = "t\n"; /* single step */ + w89k_cmds.stop = "\003"; /* Interrupt char (^C) */ + w89k_cmds.set_break = "bp %x\n"; /* set a breakpoint */ + w89k_cmds.clr_break = "bc %x\n"; /* clear a breakpoint */ + w89k_cmds.clr_all_break = "bc *\n"; /* clear all breakpoints */ + w89k_cmds.fill = "f %x %x %x\n"; /* memory fill cmd */ + w89k_cmds.setmem.cmdb = "eb %x %x\n"; /* setmem.cmdb (addr, value) */ + w89k_cmds.setmem.cmdw = "eh %x %x\n"; /* setmem.cmdw (addr, value) */ + w89k_cmds.setmem.cmdl = "ew %x %x\n"; /* setmem.cmdl (addr, value) */ + w89k_cmds.setmem.cmdll = NULL; /* setmem.cmdll (addr, value) */ + w89k_cmds.setmem.resp_delim = NULL; /* setreg.resp_delim */ + w89k_cmds.setmem.term = NULL; /* setreg.term */ + w89k_cmds.setmem.term_cmd = NULL; /* setreg.term_cmd */ + w89k_cmds.getmem.cmdb = "db %x %x\n";/* getmem.cmdb (startaddr, endaddr) */ + w89k_cmds.getmem.cmdw = "dh %x %x\n";/* getmem.cmdw (startaddr, endaddr) */ + w89k_cmds.getmem.cmdl = "dw %x %x\n";/* getmem.cmdl (startaddr, endaddr) */ + w89k_cmds.getmem.cmdll = NULL; /* getmem.cmdll (startaddr, endaddr) */ + w89k_cmds.getmem.resp_delim = " "; /* getmem.resp_delim */ + w89k_cmds.getmem.term = NULL; /* getmem.term */ + w89k_cmds.getmem.term_cmd = NULL; /* getmem.term_cmd */ + w89k_cmds.setreg.cmd = "r %s %x\n"; /* setreg.cmd (name, value) */ + w89k_cmds.setreg.resp_delim = NULL; /* setreg.resp_delim */ + w89k_cmds.setreg.term = NULL; /* setreg.term */ + w89k_cmds.setreg.term_cmd = NULL; /* setreg.term_cmd */ + w89k_cmds.getreg.cmd = "r %s\n"; /* getreg.cmd (name) */ + w89k_cmds.getreg.resp_delim = "\r"; /* getreg.resp_delim */ + w89k_cmds.getreg.term = NULL; /* getreg.term */ + w89k_cmds.getreg.term_cmd = NULL; /* getreg.term_cmd */ + w89k_cmds.dump_registers = "r\n"; /* dump_registers */ + w89k_cmds.register_pattern = "\\(\\w+\\)\\( +[0-9a-fA-F]+\\b\\)+"; + w89k_cmds.supply_register = w89k_supply_register; /* supply_register */ + w89k_cmds.load_routine = w89k_load; /* load routine */ + w89k_cmds.load = "u %x\n"; /* download command */ + w89k_cmds.loadresp = "\021"; /* load response (^Q) */ + w89k_cmds.prompt = "ROM>"; /* monitor command prompt */ + w89k_cmds.line_term = "\n"; /* end-of-line terminator */ + w89k_cmds.cmd_end = NULL; /* optional command terminator */ + w89k_cmds.target = &w89k_ops; /* target operations */ + w89k_cmds.stopbits = SERIAL_1_STOPBITS; /* number of stop bits */ + w89k_cmds.regnames = w89k_regnames; /* register names */ + w89k_cmds.magic = MONITOR_OPS_MAGIC ; /* magic */ +} /* init_w89k_cmds */ + static void w89k_open(args, from_tty) char *args; @@ -309,6 +303,7 @@ w89k_open(args, from_tty) void _initialize_w89k () { + init_w89k_cmds() ; init_monitor_ops (&w89k_ops); w89k_ops.to_shortname = "w89k"; |