Commit Graph

42 Commits

Author SHA1 Message Date
Jason Molenda
edc452d07d 1998-12-03 Jason Molenda (jsm@bugshack.cygnus.com)
* monitor.c (monitor_read_memory): Zero out pattern buffers
        before calling re_search.
        (parse_register_dump): Ditto.

PR 18049.  This bug had existed erratically since I upgraded to
the new gnu-regex.c this last summer.  The problem is mostly in
parse_register_dump; the allocated structure has some random values
in it and there is a flag set in the register_pattern structure by the
gnu-regex library which indicates that the values in the re_registers
should be trusted.

If those arbitrary contents aren't zero, gnu-regex tries to run realloc
on them and we get a core dump on some hosts for some targets when the
moon is just right.
1998-12-04 04:46:18 +00:00
Andrew Cagney
1c3cd1b020 Clean up function return types. Functions not returning values,
functions unnecessarily returning values.
1998-12-03 05:34:25 +00:00
Andrew Cagney
c8623080cb CARP: --enable-build-warnings=-Werror: Fix problems stopping GDB being
canadian-crossed to host i386-cygwin.
1998-11-25 22:13:53 +00:00
John Metzler
2a8b1fab7c Wed Apr 29 10:20:40 1998 John Metzler <jmetzler@cygnus.com>
* nec4102rom.c : New file implements rom monitor adapter for
        nec-vr4102 board. This board hosts the vr4111 chip. This file
        required extenstions to the monitor_ops structure, hooks for wiat
        filter, new flags. This version does not support more than one
        breakpoint and resuming after a breakpoint in 16 bit mode is
        completely disfunctional.  * monitor.h : Defined additional hooks
        for dmpregs, confinuer_hooks and wait_filter. These additions
        require that all rom monitor interfaces be recoded to to
        initializa monitor ops using assignments rather than static
        structure initialization.  Added new bits to flags
        MO_EXACT_DUMPADDR, MO_HAS_BLOCKWRITES
        * monitor.c (RDEBUG): Conditional tracing throughout the file.
        (fromhex): Now recognized upper cse hex digits
        (monitor_printf_noecho):
        (monitor_readchar): Tracing interferes with input timing.
        (monitor_open): Register different memory write functions with
        dcache_init if MO_HAS_BLOCKWRITES.
        (flush_monior_dcache): Added as an additional utilty.
        (monitor-resume): Call continue hook if one has been supplied.
        (monitor_wait_filter): New function Factored out of monitor wait
        and used if alternate wait-filter has not been provided.
        (monitor_wait): call alternate wait filter if provided.  Call
        monitor_dump_regs, a new function factored out from inline code.
        (monitor_dump_block): A new function used as a utility when
        monitors must dump several blocks of registers using different
        commands.
        (monitor_dump_regs): Call alternate function if provided. Uses new
        hook in monitor.h.
        (monitor_write_memory): Engage previouly added hook
        MO_FILL_USES_ADDR.
        (monitor_write_even_block): new function supports writing long
        blocks of 4byte words.
        (longlongendswap): new internal function
        (monitor_write_memory_longlongs): new function writes large blocks
        using command to enter a long long.
        (monitor_write-memory_block): new Function figures out which block
        mod to use.
        (monitor_read_memory): Can now handle dump formats in which the bytes
        preceeding the requested data is not printed.
	* monitor.h: Added new fields to the structure
1998-04-29 17:33:57 +00:00
Mark Alexander
1a31a33a93 * monitor.c (monitor_write, monitor_readchar): New functions.
* monitor.h (monitor_write, monitor_readchar): Declare.
	* dve3900-rom.c: Add support for fast loading on ethernet connections.
1998-01-24 00:52:54 +00:00
Mark Alexander
352f9e9dc7 * monitor.h (MO_PRINT_PROGRAM_OUTPUT): Define.
* monitor.c (monitor_wait): Echo program output.
	* dve3900-rom.c (_initialize_r3900_rom): Remove MO_HANDLE_NL flag,
	add MO_PRINT_PROGRAM_OUTPUT flag.
1998-01-05 23:41:46 +00:00
Mark Alexander
7e9576e098 * dve3900-rom.c: New file to support Densan DVE-R3900/20 board.
* monitor.c (monitor_debug): Move to utils.c, rename to puts_debug.
	(monitor_write_memory, monitor_read_memory, monitor_insert_breakpoint,
	monitor_remove_breakpoint): Remove useless address bits if current
	monitor has MO_ADDR_BITS_REMOVE flag.
	* monitor.h (MO_ADDR_BITS_REMOVE): Define.
	* utils.c (puts_debug): Formerly monitor_debug from monitor.c;
	move here and make public.  Add better support for carriage returns.
	* defs.h (puts_debug): Declare.
	* dsrec.c (load_srec): Use puts_debug to print remotedebug information.
	Output header record correctly.
	(make_srec): Output a header record instead of a termination record
	if sect is non-NULL (value is ignored), but abfd is NULL.
	* config/mips/tm-tx39.h (DEFAULT_MIPS_TYPE): Remove definition.
	(REGISTER_NAMES): Define to add R3900-specific registers.
	* config/mips/tm-tx39l.h: Ditto.
	* config/mips/tx39.mt (TDEPFILES): Add dve3900-rom.o and support files.
	* config/mips/tx39l.mt: Ditto.
1997-12-29 21:50:10 +00:00
David Edelsohn
15f13cd0ec * monitor.c (monitor_insert_breakpoint): Handle bi-endian machines. 1996-12-10 01:32:17 +00:00
Michael Meissner
5db7cc25b8 Make gdb compile & link cleanly on powerpc-linux 1996-11-01 15:53:28 +00:00
Michael Snyder
8665f3dcfa Thu Oct 31 16:37:17 1996 Michael Snyder <msnyder@cleaver.cygnus.com>
* m32r-tdep.c: Improved frame_chain and fn prologue analysis.
        * configure.tgt: Add entry for m32r target.
        * monitor.h:   Add a flag to tell monitor_store_register to use
                        (val, regno) instead of (regno, val).
        * monitor.c:   Make monitor_store_register honor the above flag.
                        Make monitor_exp ignore DC1/DC3 for m32r.
                        Increase buf size in monitor_dump_regs.
1996-11-01 00:41:21 +00:00
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
Dawn Perchik
f7ce02f4b3 * monitor.c (monitor_debug): Fix remotedebug buffering. 1996-06-28 10:53:37 +00:00
Stan Shebs
69159fad82 * monitor.c: Use int rather than LONGEST for values, since
the formatting strings are not prepared to accept long longs.
PR 9432
1996-04-19 01:55:57 +00:00
Michael Meissner
b9ab37f0a8 Make debugging remote gdb friendlier 1995-11-29 21:41:21 +00:00
Stu Grossman
283dc598b8 * monitor.c (monitor_expect_regexp): Same as monitor_expect, but
with the obvious extension.  (monitor_read_memory_single):  Use
	regexp for getmem.resp_delim because of parsing ambiguities caused
	by certain monitors.  (monitor_read_memory):  Use new regexp stuff
	to parse getmem.resp_delim.
	* sh3-rom.c:  Finish off table.  Use new regexp capability for
	getmem commands.
1995-10-24 21:31:07 +00:00
Jeff Law
5be86c5672 * monitor.c (monitor_make_srec): Fix thinkos in computation
of addr_size.
Critical patch from Stu.
1995-09-13 01:41:30 +00:00
J.T. Conklin
2b57629364 * configure.in: Check for working mmap, ansi headers, string.h,
strings.h, and memory.h.
* configure: Regenerated.

* gdb_stat.h: New file, "portable" <sys/stat.h>.
* gdb_string.h: New file, "portable" <string.h>.

* altos-xdep.c, arm-tdep.c, arm-xdep.c, convex-tdep.c,
convex-xdep.c, coredep.c, cxux-nat.c, dbxread.c, exec.c,
gould-xdep.c, hppa-tdep.c, i386aix-nat.c, i386b-nat.c,
i386mach-nat.c, i386v-nat.c, infptrace.c, m88k-nat.c, main.c,
mdebugread.c, objfiles.c, os9kread.c, procfs.c, pyr-xdep.c,
rs6000-nat.c, source.c, standalone.c, stuff.c, sun386-nat.c,
symfile.c, symm-nat.c, symm-tdep.c, symtab.c, top.c, ultra3-nat.c,
ultra3-xdep.c, umax-xdep.c, xcoffread.c: Include "gdb_stat.h"
instead of <sys/stat.h>.

* alpha-tdep.c, breakpoint.c, buildsym.c, c-typeprint.c,
ch-typeprint.c, coffread.c, command.c, core-sol2.c, core-svr4.c,
core.c, corelow.c, cp-valprint.c, dbxread.c, dcache.c, demangle.c,
dpx2-nat.c, dstread.c, dwarfread.c, elfread.c, environ.c, eval.c,
exec.c, f-lang.c, f-typeprint.c, f-valprint.c, findvar.c,
fork-child.c, gdbtypes.c, hpread.c, i386-tdep.c, infcmd.c,
inflow.c, infptrace.c, infrun.c, irix5-nat.c, language.c,
m2-typeprint.c, main.c, mdebugread.c, minsyms.c, mipsread.c,
monitor.c, nlmread.c, objfiles.c, os9kread.c, osfsolib.c, parse.c,
printcmd.c, procfs.c, regex.c, remote-adapt.c, remote-arc.c,
remote-array.c, remote-bug.c, remote-e7000.c, remote-eb.c,
remote-es.c, remote-hms.c, remote-mm.c, remote-os9k.c,
remote-pa.c, remote-sim.c, remote-st.c, remote-udi.c,
remote-utils.c, remote-vx.c, remote-vx29k.c, remote-vx68.c,
remote-vx960.c, remote-vxmips.c, remote-vxsparc.c, remote.c,
solib.c, somread.c, source.c, stabsread.c, stack.c, symfile.c,
symmisc.c, symtab.c, target.c, top.c, typeprint.c, utils.c,
valarith.c, valops.c, valprint.c, values.c, xcoffread.c: Include
"gdb_string.h" instead of <string.h>.
* gdbtk.c: Likewise.

* config/xm-sysv4.h, i386/xm-ptx.h, m68k/xm-sun3os4.h,
sparc/xm-sun4os4.h (HAVE_MMAP): Removed.

* config/xm-lynx.h, config/i386/xm-ptx.h,
config/m68k/nm-apollo68b.h, config/m68k/xm-hp300hpux.h,
config/mips/xm-irix3.h, config/mips/xm-mips.h,
config/mips/xm-news-mips.h, config/mips/xm-riscos.h,
config/pa/hppah.h, config/rs6000/xm-rs6000.h,
config/sparc/xm-sun4os4.h, config/sparc/xm-sun4sol2.h,
config/vax/xm-vaxbsd.h, config/vax/xm-vaxult.h,
config/vax/xm-vaxult2.h (MEM_FNS_DECLARED): Removed.
* config/mips/xm-irix3.h, config/mips/xm-mips.h,
config/pa/xm-hppah.h (memcpy, memset): Removed declarations.
1995-08-01 20:14:27 +00:00
Steve Chamberlain
45993f6118 Hmm.. The ChangeLog went in, but not the code....
* monitor.c: Turn on caching.
	(monitor_printf): If a ^C was sent, don't expect to see its
	echo.
	(monitor_open): Enable caching.
	(monitor_resume, monitor_load): Flush cache.
	(monitor_xfer_memory): Call cache routine.
	(monitor_dump_regs): New.
	(monitor_fetch_registers):  If monitor_dump_regs available
	then use it.
	(monitor_load): Don't ref exec_bfd if it's NULL.
	(monitor_load_srec): Use new monitor_make_srec calling convention.
	(monitor_make_srec): Rewrite to cope with two, three and four byte
	addresses.
	* remote-hms.c (hms_cmds): Initialze end-of-command delim.
	* dcache.h, dcache.h: Rewritten.
	* remote.c: Reenable caching.
	(getpkt): Reduce MAX_TRIES to 3.
	(remote_xfer_memory): Use dcache_xfer_memory.
	* defs.h (error_hook): New.
	* top.c (error_hook): New definition.
	* utils.c (error): Use error_hook if initialized.
	* sparcl-tdep.c (HAVE_SOCKETS): Don't define if GO32 or WIN32. Use
	HAVE_SOCKETS in place of #ifndef GO32.
1995-06-21 21:47:06 +00:00
Stan Shebs
4a4307947e * monitor.c (monitor_wait): Don't use the watchdog timeout
if its value is 0.
	* w89k-rom.c (w89k_open): Define to be static.
1995-06-20 19:13:20 +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
J.T. Conklin
eba0864375 * monitor.c (monitor_printf): Changed format specification in
error message to work with pre-ansi compilers.
  (monitor_load_srec): reduced length of s-records from 128 to 32
  bytes so download is more reliable with the rom68k monitor.

* rom68k-rom.c: Added trailing space to prompt string.

* config/i386/xm-i386sco.h (HAVE_STRSTR): Removed.
* config/i386/xm-go32.h, mswin/xm.h (SYS_SIGLIST_MISSING):
  Removed.
* defs.h, config/{xm-lynx.h, xm-nbsd.h},
  config/i386/{xm-i386bsd.h, xm-linux.h},
  config/m68k/xm-hp300bsd.h, config/mips/xm-irix4.h,
  config/ns32k/xm-ns32km3.h, doc/gdbint.texinfo
  (PSIGNAL_IN_SIGNAL_H): Removed.
1995-05-17 23:13:26 +00:00
Stan Shebs
774e5d7f64 * monitor.c (monitor_command): Don't use PROMPT until monitor
target is known to be open.
	(monitor_make_srec): Don't define size of hextab.
1995-05-04 01:00:29 +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
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
8f07823450 * monitor.c: More general cleanups. Add prototypes, remove
unused routines.  Fix bug with wrong number of args to error().
1995-03-08 00:06:55 +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
Kung Hsu
326ae3e292 * defs.h: define SWAP_TARGET_AND_HOST macro.
* findvar.c, monitor.c, hppa-tdep.c: remove definition of
        SWAP_TARGET_AND_HOST.
1995-02-28 23:08:06 +00:00
Stan Shebs
431b7d5fff * monitor.c: General gcc -Wall lint cleanup and reformat.
(monitor_command): If no args, send an empty command.
1995-02-27 20:03:49 +00:00
Stu Grossman
82fc343234 * monitor.c (monitor_load_ascii_srec): Add a one second sleep
after send LOAD_CMD to prevent loss of first S-record.
1995-02-24 05:09:37 +00:00
Rob Savoye
151e7820c7 * monitor.c: Fix so all the output shows up in the GUI command
window.
1995-02-09 02:21:40 +00:00
Rob Savoye
1b552670ac * array-rom.c: Remove the non GDB remote protocol config stuff.
* monitor.c: All reading/writing functions for memory and
	registers work.
1995-02-03 02:08:08 +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
62b32254f3 * monitor.c: Now supports xmodem as a remoteloadprotocol. 1994-12-21 21:02:56 +00:00
Rob Savoye
3f9ef4ffe9 * monitor.[ch], w89k-rom.c, op50n-rom.c, idp-rom.c: Add support
for two variables used to control the load protocol and conversion
	type.
1994-11-18 06:38:23 +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
06b8f5e406 * rom68k-rom.c: New file. Replaces the old remote-mon.c and uses
the new generic ROM interface in monitor.c.
	* config/m68k/monitor.mt: Use new ROM support.
	* monitor.c: Add support for xmodem download protocol.
1994-11-10 23:20:03 +00:00
Rob Savoye
21ed3dcdbe * monitor.c (set_loadtype_command): Fixed so it doesn't core dump.
* monitor.c (monitor_load): check the load type and load the file
	accordingly. Default to gr_load_image().
	* monitor.c (monitor_load_ascii_srec): Load an ascii file in
	srecord format by downloading to the monitor.
	* w89k-rom.c, op50n-rom.c: set supported load types.
1994-10-18 00:55:51 +00:00
Rob Savoye
7a1330f700 Cleanup debugging messages. 1994-10-13 02:03:09 +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
f1ca4cbc21 Writing to memory now works for both targets. 1994-10-11 22:12:30 +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