like EST visionICE that send back an ACK after each S-record.
* monitor.c (monitor_wait_srec_ack): New function.
(monitor_load): Pass monitor_wait_srec_ack to load_srec
if the monitor's MO_SREC_ACK flag is set.
* monitor.h: Define MO_SREC_ACK flag.
* remote-est.c (est_cmds): Add MO_SREC_ACK flag.
* sh3-rom.c (sh3_load): Accomodate change in load_srec prototype.
* srec.h: Add WAITACK parameter to load_srec prototype.
unnecessary remoteloadprotocol and remoteloadtype support.
* (expect expect_prompt): Change names to monitor_expect and
monitor_expect_prompt. Make them global.
* (printf_monitor): Change name to monitor_printf. Make global.
* (monitor_read_memory): Flush command echo to avoid parsing
ambiguity with CPU32Bug monitor.
* (monitor_load): Remove remoteloadprotocol and remoteloadtype
support. Call target_ops->load_routine, default to
monitor_load_srec.
* (monitor_load_srec): Remove everything but S-record support.
* monitor.h (monitor_ops): Add load_routine to provide monitor
specific download capability.
* remote-est.c: Clean up copyrights and comments.
* w89k-rom.c: Use new xmodem support.
* xmodem.c xmodem.h: New files to support xmodem downloads.
* rom68k-rom.c remote-est.c: Fix copyrights, add load_routine
entry to monitor_ops.
* cpu32bug-rom.c: New file to support Moto BCC debuggers.
* config/m68k/est.mt (TDEPFILES): Add cpu32bug.o.
* config/pa/hppapro.mt (TDEPFILES): Add xmodem.o.
send_xmodem_packet shows up to do the obvious. Lots of fixes to
xmodem downloads including resetting of block number at start of
new transfers, fix for buffer overrun problem, addition of CRC
generation code.
* (monitor_open): loadtype_str and loadproto_str now default to
first entry in monitor_ops->loadtypes.
* (monitor_wait): Lengthen register dump buf, because of verbose
Winbond monitor.
* (monitor_fetch_register): Report unimplemented registers as 0.
* (monitor_read_memory): Only do 16 byte aligned transfers
because of formatting weirdness with the Winbond monitor. Also,
ignore non-hex, non-whitespace formatting between bytes (same
monitor).
* (monitor_load): Clean up logic.
* (monitor_load_srec): Re-do xmodem support. Move lots of it
into send_xmodem_packet.
* (getacknak): Get rid of polls and timeouts. Handle CRC
requests from receiver.
* (monitor_make_srec): Efficiency improvements. Don't call
sprintf to output two digit hex numbers.
* (crcinit, docrc): New, CRC-16 support routines.
* (send_xmodem_packet): New routine to generate either CRC-16 or
checksummed xmodem packets.
* remote-est.c (est_loadtypes), rom68k-rom.c (rom68k_loadtypes):
Reduce tables down to only the load types supported by each
monitor.
* w89k-rom.c (w89k_supply_register): Parses output of Winbond
register dumps.
* (w89k_loadtypes, w89k_loadprotos): Reduce to just srec/xmodem.
* (w89k_cmds): Add clear all breakpoints, memory fill, and dump
registers commands.
* Makefile.in (gdbtk.o): Use X11_CFLAGS to provide alternate
locations (per-host) for X11 include files.
* config/pa/hppahpux.mh (XM_CLIBS): Add -L/usr/lib/X11R5 to force
the use of R5 libs. (X11_CFLAGS): Add this to indicate the locs
of the R5 include files.
end-sanitize-gdbtk
* monitor.c monitor.h remote-est.c rom68k-rom.c: Add start of
support for interrupting target.
* monitor.c (monitor_open): Send stop command before doing
anything else.
* (monitor_load_srec): Fix record size calculation to prevent end
of segment from getting trashed.
* rom68k-rom.c: Update to latest version of struct monitor_ops.
* config/sparc/tm-sparc.h (FIX_CALL_DUMMY): Fix byte-order
problems. Makes DOS hosted function calling work.
* sparclite/crt0.s: Define _start to make COFF happy.
* testsuite/config/rom68k.exp (gdb_target_rom68k): Use
$targetname, $serialport and $baud instead of hardwired variables.
* testsuite/gdb.base/{sigall.exp signals.exp}: Skip these if the
target doesn't support signals.
* findvar.c: Move default def of CANNOT_STORE_REGISTER closer to
the beginning of the code.
* (write_register_gen): New routine. Analogous to
read_register_gen.
* (write_register_bytes): Another rewrite! Make it smarter about
not updating regs with the same value.
* monitor.c (printf_monitor readchar): Use stderr instead of
stdout to output debug info. Also cleanup readchar a little.
* (expect): Make sure that excessive responses are null
terminated.
* (monitor_open): Check for magic number in monitor_ops struct.
Allow multiple commands as init strings. Also, clear all
breakpoints.
* (monitor_resume monitor_wait): Send a command to dump all the
regs for those targets which don't do so when waking up after a
continue command.
* (monitor_wait): Handle excessive response output better.
* (monitor_write_memory): Use block fill, word, and long word
commands (if they exist) to write memory more efficiently.
* General cleanups to use flag bits instead of individual flag
words in monitor_ops struct.
* (monitor_command): Return output from command.
* (monitor_load_srec): Allocate buffer only once. Use alloca.
Wait for load response string instead of using a timeout to start
sending S-records. Fix bug where value of srec_frame shrinks. If
hashmark is set, print `-' for retransmissions. General cleanups.
* (monitor_make_srec): Get rid of S-record default type kludge.
* monitor.h: Use seperate struct for memory and register
read/write commands. Memory commands can come in byte, word,
long, and longlong forms.
* (monitor_ops): Change lots of fields. Generalize some stuff.
Put all flags into flags word. Allow init to be a list of commands.
Add command for clearing all breakpoints, block fill, dumping all
registers.
* remote-est.c: Rewrite to use new monitor conventions.
* config/m68k/est.mt (TDEPFILES): Add monitor.o.
* config/m68k/tm-est.h: Set NUM_REGS to 18.
* testsuite/gdb.base/break.exp: Lots of cleanups. Use gdb_test
more thoroughly.