Commit Graph

70 Commits

Author SHA1 Message Date
J.T. Conklin 85c613aaa7 * utils.c (fprintf_filtered, fprintf_unfiltered, fprintfi_filtered,
printf_filtered, printf_unfiltered, printfi_filtered, query, warning,
          error, fatal, fatal_dump_core): Use stdarg.h macros when compiling
          with an ANSI compiler.
        * complain.c (complain): Likewise.
        * language.c (type_error, range_error): Likewise.
        * monitor.c (monitor_printf, monitor_printf_noecho): Likewise.
        * remote-array.c (printf_monitor, debuglogs): Likewise.
        * remote-mips.c (mips_error): Likewise.
        * remote-os9k.c (printf_monitor): Likewise.
        * remote-st.c (printf_stdebug): Likewise.
        * gdbtk.c (gdbtk_query): Likewise.

        * defs.h, complain.h, language.h, monitor.h: Add prototypes to
          match above changes.

        * printcmd.c: Remove uneeded #include <varargs.h>.
        * remote-e7000.c: Likewise.

        * f-typeprint.c (f_type_print_base): Fix typo found by above
          changes.
1995-05-18 23:45:31 +00:00
Stu Grossman d8afcce964 * hppa-tdep.c (read_unwind_info): Cosmetic cleanup.
* (unwind_command):  Clean it up and make it print things out
	nicer.
	* monitor.c:  Add ^C handling capability (mostly ripped off from
	remote.c).
	* (monitor_printf):  Make it check the command echo.
	* (monitor_printf_noecho):  Similar to above, but doesn't check
	for echo.
	* (monitor_stop):  No longer waits for prompt.  That is the job of
	the caller.  This makes things work much better for monitor_wait,
	which waits for the prompt itself.
	* (monitor_open):  Deal with new monitor_stop semantics.  Also,
	flush input after sending init strings to get rid of junk that may
	be output.  Also, don't always send \r to remote.  Use
	monitor_ops->line_term cuz proper character isn't always \r.
	* (monitor_fetch_register):  Switch to completely different
	algorithm to deal with lame-ass monitors which put spaces in the
	middle of numbers, and prompt with a space!!!!!
	* (monitor_read_memory_single):  New routine to be used with
	monitors that can only return one byte/short/long at a time.  This
	is selected via MO_GETMEM_READ_SINGLE.
	* (monitor_load_srec):  Use monitor_printf_noecho for sending S
	records.  Most targets don't echo them.
	* (monitor.h):  Get rid of cmd_delim.  Add line_delim.
	* op50n-rom.c (op50n_cmds):  Fill it up.  Make it work.
	* w89k-rom.c:  Change all eols from \r to \n.  Change load_resp to
	^Q to prevent error message.
	* config/pa/tm-hppa.h (CALL_DUMMY (for hppro)):   Add special
	instruction sequence at end to make restore_pc_queue happy.
1995-05-11 02:26:00 +00:00
Stu Grossman f8f3659f3e * cpu32bug-rom.c monitor.h op50-rom.c remote-est.c rom68k-rom.c
w89k-rom.c:  Remove loadtypes, loadprotos and baudrates.
	* op50-rom.c:  Fix copyrights and add load routine to op50n_cmds.
	* rom68k-rom.c (_initialize_rom68k):  Don't set baud rate.
	* w89k-rom.c:  Fix copyrights.
1995-04-17 22:43:56 +00:00
Stu Grossman 5de0c6486d * monitor.c: Move all xmodem stuff into xmodem.[ch]. Remove
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.
1995-04-17 06:31:39 +00:00
Stan Shebs d108166fde * monitor.h (init_monitor_ops): Declare.
* rom68k-rom.c: Clarify some comments.
	(rom68k_open): Define as static, to match decl.
1995-04-13 01:23:53 +00:00
Stu Grossman 3da4297eae * monitor.h: Add MO_GETMEM_NEEDS_RANGE flag.
* monitor.c (monitor_read_memory):  Use previously mentioned flag
	to send proper format memory examine commands to the w89k monitor.
	Also, try to handle bizarre format of memory dump...

	* op50-rom.c w89k-rom.c:  Update to new monitor.[ch] conventions.
1995-04-03 21:03:27 +00:00
Stu Grossman a706069fdb start-sanitize-gdbtk
* 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.
1995-03-30 01:47:32 +00:00
Stu Grossman a25a9f49ca * configure.in: Move test for m68*-est-* before m68*-*-coff*.
* 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.
1995-03-25 00:36:01 +00:00
Stu Grossman 2081365ffa * findvar.c (read_register_bytes write_register_bytes): Make
these routines much smarter about updating registers from the
	target, only doing so when absolutely necessary.  This really
	speeds up register modification on some remote targets.

	* monitor.c:  More cleanups.  Get rid of monitor_load_ascii_srec.
	BFD makes this unnecessary.  Lots of debugging speedups.
	* (expect):  NULL terminate return string.
	* (monitor_open	monitor_supply_register parse_register_dump
	monitor_wait monitor_fetch_register):  Switch to using GNU regexp
	library to parse multi-register displays.
	* (monitor_read_memory): Read multiple bytes (up to 16) at once.
	* (monitor_create_inferior):  Call clear_proceed_status to make run
	command notice first breakpoint.
	* (monitor_load):  Clean up.  Reset inferior_pid, set pc to start
	address and reset symbol table stuff to make loads put things into
	a fresh state.
	* (monitor_load_srec):  Lower sleep time to 1 second.

	* monitor.h (struct monitor_ops):  Add register_pattern and
	supply_register to monitor_ops.

	* rom68k-rom.c:  Add new support for handling register dumps.
1995-03-15 23:31:14 +00:00
Stu Grossman 32fa4b5936 * monitor.c array-rom.c monitor.h rom68k-rom.c: Move target_ops
into monitor.c.
	* monitor.c (monitor_create_inferior):  Allow run command to start
	program.
1995-03-08 03:21:51 +00:00
Stu Grossman f17aed8ba3 * monitor.c (monitor_load): Set PC to start address when done
loading.

	* array-rom.c monitor.h rom68k-rom.c:  Clean up target_ops.
	Remove ref to monitor_create_inferior.
1995-03-08 01:18:08 +00:00
Stu Grossman 1265e2d823 * Makefile.in: Add rules for monitor.o and rom68k-rom.o to make
Sun make (with VPATH) work...

	* monitor.c monitor.h rom68k-rom.c:  Serious cleanup to make IDP
	(rom68k) target work right.
	* array-rom.c op50-rom.c w89k-rom.c:  Partial updates to new
	monitor.c interface.  More work needs to be done here.
	* config/m68k/tm-monitor.h:  Change DECR_PC_AFTER_BREAK to 0 to
	match the IDP monitor.  Also, set NUM_REGS to 18 cuz there's no
	floating-point for this card.
1995-03-07 09:26:39 +00:00
Rob Savoye 0b0669febd Add GDBPROTO macro for checking the type of protocol. 1995-01-18 19:11:30 +00:00
Rob Savoye cf51c6017e * monitor.[ch], op50-rom.c, rom68k-rom.c, w89k-rom.c: Add support
to monitor config structure for supported baud rates for a target
	and variable stop bits.
	* monitor.c (monitor_fetch_register): Store register values in big
	endian format on any host.
1994-12-30 01:26:37 +00:00
Rob Savoye b3b8d9bfa7 * op50-rom.c, w89k-rom.c, monitor.c: Modify to use two variables
to set remote load type and protocol.
	* rom68k-rom.c: Add to_stop in target_ops.
1994-11-15 08:13:05 +00:00
Rob Savoye df3cf84a35 * monitor.h, remote-mon.c: Hack up to so the old ROM monitor
interface code still works with the new ROM monitor
	structures. Fake out a couple of fields.
1994-10-15 01:45:59 +00:00
Rob Savoye e6fa5bd61d Cleanup debug logging, fix single stepping. WinBond works good! 1994-10-12 23:12:47 +00:00
Rob Savoye 7804e5bc7c Breakpoints work, run works. Fixed "monitor" command. 1994-10-12 03:34:08 +00:00
Rob Savoye 51d6a95404 Memory_reads_inferior() and monitor_fetch_registers() now work good on
both targets. On to the "set" functions...
1994-10-11 04:37:18 +00:00
Rob Savoye 054240ecf0 Remote support for the Rom68k monitor and the Motorola Bug monitor. This is
the first attempt at a generic debug monitor support file.
1993-02-14 22:52:02 +00:00