Commit Graph

30 Commits

Author SHA1 Message Date
Dawn Perchik
012be3cec3 * configure,configure.in: Add target sparclet.
* monitor.h,monitor.c:
    Added monitor flags MO_NO_ECHO_ON_SETMEM (don't expect echo on
    setmem command), MO_RUN_FIRST_TIME (if command to start process
    running on target is different from one to continue execution),
    MO_HEX_PREFIX (if addresses from monitor have a "0x" prefix).
    * monitor.c,parse.c,sparc-tdep.c:
    Don't require strings in the registers array.  This is to allow
    NULLs to be place holders in the tm-*.h file so that only minor
    changes are needed when a new processor is introduced (eg, one
    without floating point).
    * sparc-tdep.c: Conditionally remove dependancies on floating point.
    * sparclet-rom.c,config/sparc/sparclet.mt,config/sparc/tm-sparclet.h:
    New files for target sparclet.
    * symfile.c: Add option for 2nd parameter on load command : a load
    offset added to the vma of each section.
1996-06-28 14:03:13 +00:00
Mark Alexander
c92f31c6e5 * dsrec.c (load_srec): Add WAITACK parameter, for machines
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.
1996-05-21 06:09:23 +00:00
Stan Shebs
178ed33898 * monitor.h: Clean up comment formatting.
(current_monitor): Remove decl.
	(LOADTYPES, LOADPROTOS, INIT_CMD, etc): Remove definitions.
	(push_monitor, SREC_SIZE): Remove.
	* monitor.c: Expand old macro into current_monitor derefs
	everywhere.
	* remote-os9k.c (current_monitor): Remove definition.
1996-04-22 23:46:02 +00:00
Dawn Perchik
2e665cd3ad * mon960-rom.c: New file; support mon960 rom monitor on i960.
* monitor.c (monitor_debug): Change remotedebug to buffer strings.
       * monitor.c (monitor_open): Add test for flag MO_NO_ECHO_ON_OPEN before
       epecting prompt and echo during open.
       * monitor.c (monitor_stop): Add test for flag MO_SEND_BREAK_ON_OPEN to
       determine if break should be sent as stop command.
       * monitor.h: Add flags MO_NO_ECHO_ON_OPEN and MO_SEND_BREAK_ON_OPEN.
       * i960-tdep.c (mon960_frame_chain_valid): New function for getting
       stack frame on mon960.
       * Makefile.in: Add mon960 files.
       * configure.in: Changed i960-*-coff* and i960-*-elf* to target mon960;
       added i960-nindy-coff* and i960-nindy-elf* for target nindy.
       * configure: Regenerated.
       * config/i960/mon960.mt, config/i960/tm-mon960.h: New files;
       support mon960 rom monitor on i960.
1996-03-11 23:49:22 +00:00
Steve Chamberlain
c84e500001 * dsrec.c (load_srec): Remove unused variable.
monitor.c (monitor_expect): Don't expect a ^C to echo.
	* serial.c (serial_open): Add parallel interface.
	* sh3-rom.c (parallel, parallel_in_use): New.
	(sh3_load): If parallel_in_use, download though the
	parallel port.
	(sh3_open): Open parallel port if specified.
	(sh3_close): New function.
	(_inititalize_sh3): Add sh3_close hook and documentation.
	* monitor.c (monitor_close): Export.
	* monitor.h (monitor_close): Add prototype.
1996-01-13 00:21:55 +00:00
Michael Meissner
721ccd808f Make ppcbug work 1995-12-21 17:06:04 +00:00
Stu Grossman
fe5cfadd42 * monitor.h (struct memrw_cmd->resp_delim): Document this as a regexp. 1995-10-24 21:35:23 +00:00
Stu Grossman
1480482acb * Makefile.in sh3-rom.c config/sh/sh.mt config/sh/tm-sh.h: Add
sh3 monitor support.
	* monitor.c:  Cleanup regexp compilation stuff to make it easier
	to use several regexps.
	* monitor.h:  Get rid of struct rom_cmd_data.  It's no longer used.
	* config/m68k/tm-monitor.h:  Don't redefine NUM_REGS here.  It just
	causes GDB to crash.
1995-10-16 18:51:15 +00:00
Fred Fish
6c9638b444 Update FSF address. 1995-08-02 03:41:12 +00:00
J.T. Conklin
e3033bb086 * defs.h (ATTR_FORMAT): New macro, expands to gcc's format
attribute when compiled by gcc.
* defs.h, language.h, monitor.h: Changed many function
  declarations to use ATTR_FORMAT.

* breakpoint.c (delete_command); source.c (directory_command);
  top.c (define_command): Changed call to query() that had too
  many arguments.
* printcmd.c (address_info): Changed call to printf_filtered()
  that had too many arguments.
1995-05-19 22:44:51 +00:00
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