Commit Graph

126 Commits

Author SHA1 Message Date
Bob Manson db38473ab8 * remote-mips.c (mips_exit_debug): Some IDT boards don't
send the full exit string.

Fixes a bug when trying to load to our mips IDT boards.
1997-03-06 03:36:05 +00:00
Mark Alexander d6ca85a8ca * remote-mips.c: Put back the form feeds. 1997-02-27 22:14:22 +00:00
Mark Alexander 266454ca50 * remote-mips.c: Remove form feeds (^L) from source.
(mips_initialize): LSI PMON doesn't support 'set regsize' command.
	(pmon_wait): Don't need to exit and re-enter debug mode on LSI
	PMON after a continue; it causes target program misbehavior.
	(mips_fetch_register): Don't fetch unsupported registers; this
	cuts down on wasted serial traffic.
1997-02-27 21:45:29 +00:00
Mark Alexander 7061bb0ef3 * mips-tdep.c (non_heuristic_proc_desc): New function.
(find_proc_desc): Move non-heuristic proc search code into separate
	function.
	(gdb_print_insn_mips): Use non-heuristic method to find procedure
	descriptor, to avoid prologue examination when disassembling.
	* remote-mips.c: Add support for new "lsi" target (LSI MiniRISC
	aka MicroMeteor board).
	(mips_exit_debug): Prevent protocol reinitialization if an error
	occurs while exiting debug mode.
1997-02-11 02:48:55 +00:00
Mark Alexander 32dab60312 * remote-mips.c (common_breakpoint): Prevent 64-bit addresses
from being sent to 32-bit targets by masking off upper bits.
	* mips-tdep.c (heuristic_proc_start): Mask off upper 32 bits
	of PC on 32-bit targets.
	(mips16_heuristic_proc_desc): Recognize 'addiu s1,sp,n' as a
	frame setup instruction.
	(mips32_heuristic_proc_desc): Fix warning found by gcc -Wall.
	(mips16_skip_prologue): Recognize 'addiu s1,sp,n' as a valid
	prologue instruction.  Fix warnings and bugs found by gcc -Wall.
	* buildsym.c (finish_block): Improve handling of overlapping blocks;
	fixes problem on MIPS16 printing function arguments.
1997-02-09 17:36:49 +00:00
Mark Alexander 214e969267 * values.c (unpack_double): Make it compile with MSVC++ 2.x.
* remote-mips.c (S_IROTH): Define if not defined by stat.h, e.g.
	when using MSVC++.
	(common_open): Fix help string.
1996-12-19 17:45:57 +00:00
Mark Alexander 96431497ff * config/mips/tm-mips.h (ADDR_BITS_REMOVE, TARGET_READ_SP): Define.
(mips_addr_bits_remove): Declare.
	* mips-tdep.c (mips_push_dummy_frame): Fix heuristic-fence-post
	errors when hitting breakpoints during inferior function calls
	in 64-bit programs.
	(fix_sign_extension): Make public, rename to mips_addr_bits_remove.
	* utils.c (paddr_nz, preg_nz): New functions, similar to
	paddr and preg but don't print leading zeroes.
	* defs.h (paddr_nz, preg_nz): Declare.
	* remote-mips.c: Use paddr_nz instead of paddr throughout
	to reduce packet size.
	(pmon_end_download): Improve timeout error handling.
1996-11-27 03:40:02 +00:00
Mark Alexander ee45546371 * mips-tdep.c: Replace hard-coded constants with MIPS_INSTLEN.
(common_breakpoint): Use paddr instead of %x to print 64-bit values.
	(heuristic_proc_desc): Add tests for 64-bit instructions.
	(init_extra_frame_info, mips_push_arguments): Recognize additional
	registers for EABI.
	* remote-mips.c: Extend DDB target to allow TFTP downloads.
	* config/mips/tm-mips.h (MIPS_LAST_ARG_REGNUM, MIPS_NUM_ARG_REGS):
	Define.
1996-11-22 04:50:46 +00:00
Jim Wilson 119dfbb7c1 Patches to add Irix6 host support. 1996-11-12 23:33:32 +00:00
Dawn Perchik 28444bf3a1 * mips-tdep.c, remote-mips.c, values.c, mdebugread.c,
config/mips/tm-mips.h: Add/fix bugs for 64-bit mips support.
	* defs.h: Cleanup; add prototypess
	* corefile.c: Change FIXME #ifdef
	* win32-nat.c: Include windefs instead of windows.h.
	* utils.c: Add routines for printing addresses and registers
	based on type size.
1996-11-11 21:02:55 +00:00
Stan Shebs 5dad831218 * remote-mips.c: Use the correct name everywhere (DDB) for NEC's
VR4300 target.
	(ddb_ops, pmon_ops): Fix the documentation strings.
1996-10-10 01:17:05 +00:00
Jackie Smith Cashion 1db0c2f75c Tue Sep 17 10:56:52 1996 James G. Smith <jsmith@cygnus.co.uk>
* remote-mips.c (pmon_wait): CAIRO PMON does not require forced
 	re-entry back into debug mode.
1996-09-17 10:03:02 +00:00
Jackie Smith Cashion aeb8f981df Mon Sep 16 14:32:58 1996 James G. Smith <jsmith@cygnus.co.uk>
* remote-mips.c (mips_load): Ensure that the PC is explicitly
 	loaded after a load to a CAIRO PMON system.
1996-09-16 13:37:02 +00:00
Jackie Smith Cashion 5132850605 Fri Aug 30 15:07:14 1996 James G. Smith <jsmith@cygnus.co.uk>
* remote-mips.c: Provide support for CAIRO target board.
	(cairo_open, cairo_ops): Added.
	(mips_monitor_type): MON_CAIRO Added.
	(mips_enter_debug, mips_exit_debug, mips_initialize,
 	mips_fetch_registers, common_breakpoint, mips_load,
 	_initialize_remote_mips): Updated.

Add simple support for NEC CAIRO Vr4300 development board.
1996-08-30 14:15:27 +00:00
Fred Fish 857dcde8c2 * config/mips/nm-mips.h (get_longjmp_target): Add prototype.
* config/mips/nm-irix3.h (get_longjmp_target): Add prototype.
	* remote-mips.c (mips_read_processor_type): Remove prototype.
	* mips-tdep.c (gdb_print_insn_mips): Add prototype and make static.
	* irix5-nat.c (fetch_core_registers): Add prototype.
1996-08-14 08:46:24 +00:00
Geoffrey Noer 3308a10725 Removed EINVAL reference in remote-mips.c, and put a hardcoded 22 in its
place which reflects what the boards return.
1996-05-28 23:20:12 +00:00
Ian Lance Taylor 102f473b78 * remote-mips.c (encoding): Don't specify size, to avoid bug in
SunOS native compiler.
1996-04-19 19:05:00 +00:00
Jackie Smith Cashion 4f005fea32 Sun Mar 3 17:18:57 1996 James G. Smith <jsmith@cygnus.co.uk>
* remote-mips.c (common_breakpoint): Explicitly terminate the
 	returned buffer.
1996-03-03 17:20:15 +00:00
Fred Fish c37c7c6ca3 * somsolib.c (som_solib_add): Use xmalloc rather than bare
unchecked call to malloc.
	* remote-mips.c (pmon_load_fast): ditto.
	* remote-mm.c (mm_open): ditto.
	* hpread.c (hpread_lookup_type): ditto.
	* remote-adapt.c (adapt_open): ditto.
1996-02-12 22:13:18 +00:00
Jackie Smith Cashion 090d784aaf Tue Jan 16 18:00:35 1996 James G. Smith <jsmith@cygnus.co.uk>
* remote-mips.c (pmon_opn, pmon_wait, pmon_makeb64, pmon_zeroset,
 	pmon_checkset, pmon_make_fastrec, pmon_check_ack,
	pmon_load_fast): New functions. Support for the PMON monitor world.
	(common_open): New function to merge support for different monitors.
	(mips_open): Use common_open().
	(mips_send_command): New function.
	(mips_send_packet): Scan out-of-sequence packets.
	(mips_enter_debug, mips_exit_debug): New functions.
	(pmon_ops): New target definition structure.

These changes provide the initial support for the PMON (3.0.83)
monitor that appears on the Cogent (CMA101) Vr4300 development
board. The changes do not affect the IDT monitor support, other than
in the area of dealing with out-of-sequence packets.
1996-01-16 18:24:44 +00:00
Stan Shebs 1f23375860 * remote-mips.c (mips_receive_header): Recognize \012 instead
of \n, but write \n when program sends a \012.
	* ser-mac.c (mac_input_buffer): Increase size of buffer.
1996-01-09 00:37:35 +00:00
Stu Grossman 4c5bc9f44c * remote-mips.c (mips_receive_header): Allow mips_syn_garbage to be
user-settable (via set syn-garbage-limit).  Setting it to -1 makes
	it unlimited.
1995-12-07 00:21:51 +00:00
Stu Grossman 9cacb47b67 * remote-mips.c (mips_initialize): Fix brain damage found by
Jamie.  Basically had case statement in the wrong place...
	* (mips_load):  Remove unnecessary `db tty0' command.  It's all
	handled by mips_initialize now.
1995-11-08 00:33:16 +00:00
Stu Grossman afb6948757 * remote-mips.c (mips_initialize): Fix brain damage found by
Jamie.  Basically had case statement in the wrong place...
1995-11-08 00:06:58 +00:00
Jackie Smith Cashion 8b07d12c1f * remote-mips.c (mips_initialize): Updated to talk to VR4300 RISQ
monitor board.

The mips_initialize() code seemed to have a "funny" switch
statement. I also removed an unnecessary switch into debug monitor
mode just before the call to mips_initialize() in mips_load().
1995-11-07 15:05:04 +00:00
Stu Grossman 188c635fbb * Makefile.in (INTERNAL_CFLAGS): Add ENABLE_CFLAGS.
* fork-child.c (fork_inferior):  Add call to
	TARGET_CREATE_INFERIOR_HOOK to allow target specific code to get
	control just before the new process executes it's first instruction.
	* remote-mips.c (mips_initialize):  Cleanup a bit.  Don't try to
	receive a packet at first.  This speeds up initialization a lot.
	Use TARGET_MONITOR_PROMPT instead of "<IDT>".
	(common_breakpoint):  Use rresponse instead of rerrflg to inspect
	error code.
	* symfile.c (syms_from_objfile reread_symbols):  Call
	TARGET_SYMFILE_POSTREAD to allow target specific code to get
	control after reading new symbols.
	* target.h:  New macros TARGET_SYMFILE_POSTREAD, and
	TARGET_CREATE_INFERIOR_HOOK.  See above for descriptions.
	* config/mips/{irix5.mh nm-irix5.h}:  Delete nm-irix5.h.  Make
	NAT_FILE point directly at ../nm-sysv4.h.
	* config/mips/{mipsm3.mh nm-m3.h}:  Delete nm-m3.h.  Make
	NAT_FILE point directly at ../nm-m3.h.
	* config/mips/{mipsv4.mh nm-sysv4.h}:  Delete nm-sysv4.h.  Make
	NAT_FILE point directly at ../nm-sysv4.h.
	* config/mips/nm-mips.h:  Improve comment at top of file.
	* config/mips/tm-mips.h (TARGET_MONITOR_PROMPT):  Change
	definition into a proper string.
start-sanitize-gm
	* configure configure.in:  Add support for --enable-gm.
	(mips*-*-magic*):  Change target from magic to idt.
	* eval.c expprint.c expression.h parse.c remote-mips.c utils.c:
	Change GENERAL_MAGIC_HACKS to GENERAL_MAGIC.
	* magic.c magic.h:  Update files from GM.
	* config/mips/magic.mt:  Delete.  No longer necessary now that we
	use --enable mechanism.
	* config/mips/tm-idt.h:  Add GM stuff needed for remote GM box.
	* config/mips/tm-irix5.h:  Add GM stuff needed for native Irix box.
	* config/mips/tm-magic.h:  Move up to config/tm-magic.h.  Move all
	platform specific stuff into tm-irix.h and tm-idt.h.  Add defs for
	TARGET_SYMFILE_POSTREAD and TARGET_CREATE_INFERIOR_HOOK.
end-sanitize-gm
1995-11-04 19:02:42 +00:00
Stu Grossman cd10c7e388 * breakpoint.c (breakpoint_re_set): #ifdef GET_LONGJMP_TARGET
around calls to create_longjmp_breakpoint.  Why install the
	breakpoints if we can't find the longjmp target?
	* infrun.c (wait_for_inferior):  Cleanup comments near call test.
	* remote-mips.c:  Fixed a bunch of prototypes to avoid char/int
	complaint from picky compilers.  Add comment to mips_expect.
	Replace all instances of sr_get_debug with remote_debug.
	* (mips_readchar):  Don't jam init string to monitor.
	mips_initialize() handles that.
	* (mips_receive_header):  Print better message when we get too
	much garbage.
	* (mips_request):  Allow caller to pass in buff to allow them to
	analyze the returned message.
	* (mips_initialize):  Re-do initialization to try sending a BREAK,
	a ^C, and then a download escape sequence.  Cleanup protocol
	startup.  Eliminate sleeps.  Clear breakpoints (if using monitor
	breakpoints).  Re-init frame.
	* (mips_detach):  Close down target.
start-sanitize-gm
	* (mips_resume):  Pass signal down to target.
	* (mips_create_inferior):  Start target with TARGET_SIGNAL_PWR.
end-sanitize-gm
	* (mips_wait):  Handle return status with registers, or breakpoint stuff.
	* (mips_kill):  Add ^C handling.
	* (mips_insert_breakpoint mips_remove_breakpoint):  Call new
	breakpoint stuff if enabled.
	* (calculate_mask remote_mips_set_watchpoint
	remote_mips_remove_watchpoint remote_mips_stopped_by_watchpoint):
	Hardware watchpoint/breakpoint stuff.
	* (common_breakpoint):  Common code for new monitor breakpoint commands.
	* (mips_load):  Don't use `prompt'.  It's a global variable.
	* top.c (dont_repeat_command):  New command for use in
	user-defined commands to suppress auto-repeat (by hittin return key).
start-sanitize-gm
	* utils.c (request_quit):  Call target_kill here.  Good idea.
	Needs a better implementation.
end-sanitize-gm
	* valops.c:  Add start of auto function-call abandonment capability.

start-sanitize-gm
	* c-exp.y:  Add code (currently disabled) to handle GM dynamic
	structures (it conflicts with @!).
	* eval.c (evaluate_subexp_standard):  ditto.
	* expprint.c (print_subexp dump_expression):  ditto.
	* expression.h (enum exp_opcode):  ditto.
	* parse.c (length_of_subexp):  ditto.
	* configure, configure.in:  Add mip*-*-magic* target.
	* magic.c magic.h:  Special routines to handle GM stuff (like
	stepping through dispatcher).
end-sanitize-gm
1995-10-27 17:48:36 +00:00
Jackie Smith Cashion 0e3a4b1e8e The revision 2.48 change (grossman 1995/10/16) had unfortunately
broken the prompt spotting for the <RISQ> variant of the IDT
monitor. Also took this opportunity to add the vr4300 configure.in
options.
1995-10-23 16:09:58 +00:00
Stu Grossman 4704fd9cab * remote-mips.c: Add support for speedy (about 10x faster)
downloads.
1995-10-16 19:02:41 +00:00
Jackie Smith Cashion 180fd370b1 Ideally the "remote-mips.c" prompt spotting code should be updated to
spot different prompts at run-time, so as to avoid having target
specific versions of gdb. This is a pending TODO.

Fri Sep  1 08:25:50 1995  James G. Smith  <jsmith@beauty.cygnus.com>

        * configure (mips64*vr4300*-*-elf): Support added.
        * remote-mips.c (mips_readchar): Change to allow build-time prompt
        string.
        * config/mips/tm-mips.h: Added TARGET_MONITOR_PROMPT.
        * config/mips/{vr4300.mt, vr4300el.mt, tm-vr4300.h,
        tm-vr4300el.h}: Added.
1995-09-01 15:33:14 +00:00
Fred Fish 6c9638b444 Update FSF address. 1995-08-02 03:41:12 +00:00
Jeff Law 43fc25c87e * inftarg.c (child_thread_alive): New function to see if a
particular thread is still running.
        (child_ops): Add child_thread_alive entry.
        * remote.c (remote_thread_alive): New function to see if a
        particular thread is still alive.
        (remote_ops): Add remote_thread_alive.
        * target.c (dummy_target): Add dummy entry for thread_alive.
        (cleanup_target): de_fault thread_alive too.
        (update_current_target): INHERIT thread_alive too.
        (debug_to_thread_alive): New function.
        (setup_target_debug): Add debug_to_thread_alive.
        * target.h (struct target_ops): Add to_thread_alive.
        (target_thread_alive): Define.
        * thread.c (info_threads_command): Don't call kill; use
        target_thread_alive instead.
        * config/nm-lynx.h (CHILD_THREAD_ALIVE): Define.
        * gdbserver/low-lynx.c (mythread_alive): New function.
        (mywait): Don't restart any threads after a new thread notification,
        let the generic code handle it.
        * gdbserver/low-sparc.c (mythread_alive): Dummy version.
        * gdbserver/low-sun3.c (mythread_alive): Likewise.
        * gdbserver/server.c (main): Handle thread_alive requests.
        * gdbserver/server.h (mythread_alive): Declare.
        * corelow.c (core_ops): Add dummy entry for thread_alive.
        * exec.c (exec_ops): Likewise.
        * m3-nat.c (m3_ops): Likewise.
        * monitor.c (monitor_ops): Likewise.
        * procfs.c (procfs_ops): Likewise.
        * remote-arc.c (arc_ops): Likewise.
        * remote-array.c (array_ops): Likewise.
        * remote-e7000.c (e7000_ops): Likewise.
        * remote-es.c (es1800_ops, es1800_child_ops): Likewise.
        * remote-mips.c (mips_ops): Likewise.
        * remote-pa.c (remote_hppro_ops): Likewise.
        * remote-sim.c (gdbsim_ops): Likewise.
        * sparcl-tdep.c (sparclite_ops): Likewise.

More lynx-6100 work
1995-07-13 21:40:22 +00:00
Stu Grossman 4887063b3c * defs.h maint.c monitor.c remote-mips.c remote.c: Add support
for `watchdog' variable.  This allows the user to put an upper
	limit on the amount of time that GDB will wait for the target to
	return from a step or continue operation.  This will primarily be
	used for the testsuite, where it is difficult to come up with a
	reasonable timeout for things like function calls, which can take
	as long as three minutes under some circumstances.  If the
	watchdog timer expires, GDB will generate an error that looks like
	`Watchdog has expired.', and will detach from the target.

	* remote-mips.c (mips_open):  Setup initial frame from target.
	Print it out so that user is told where the program is stopped
	when they attach.

	* remote-nrom.c:  Loads of cleanups.  Use serial code to open
	network connections.  Use expect() to wait for response to
	download command.

	* ser-tcp.c (tcp_open):  Retry connection if we get ECONNREFUSED.

	* serial.c serial.h (serial_open serial_fdopen serial_close):
	Allow users to open the same device multiple times.  They all get
	to share the same serial_t.  This is about the only way to have
	multiple active targets use the same device (for download and
	debug).

	* sparcl-tdep.c:  Keep #include <unistd.h> away from GO32.

	* target.c:  Add `targetdebug' variable.  If this is non-zero,
	then a special target is put at the top of the target stack which
	will cause all calls through the target vector to have their args
	and results printed out.
1995-06-08 22:42:36 +00:00
Jim Kingdon 73d3dbd4e6 * utils.c, complaints.c, language.c, monitor.c, remote-array.c,
remote-mips.c, remote-os9k.c, remote-st.c: Conditionalize use of
	stdarg rather than varargs on ANSI_PROTOTYPES not __STDC__; it
	must match the definition of PARAMS.
start-sanitize-gdbtk
        * gdbtk.c: Likewise.
end-sanitize-gdbtk
1995-05-19 14:15:48 +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
Stan Shebs ae55bdbcba * defs.h, infcmd.c (reg_names): Don't declare as constant.
* remote-mips.c (mips_open): Read and set the processor type.
	* mips-tdep.c (mips_set_processor_type): Always return an int.
1994-11-18 23:03:29 +00:00
Stu Grossman 78b459a7e7 * corelow.c, exec.c, inftarg.c, m3-nat.c, op50-rom.c, procfs.c,
remote-adapt.c, remote-e7000.c, remote-eb.c, remote-es.c,
	remote-hms.c, remote-mips.c, remote-mm.c, remote-mon.c,
	remote-nindy.c, remote-os9k.c, remote-pa.c, remote-sim.c,
	remote-st.c, remote-udi.c, remote-vx.c, remote-z8k.c, remote.c,
	w89k-rom.c, target.c, target.h:  Add support for target_stop().
	* gdbtk.c (gdb_stop):  Switch to target_stop().
	* ChangeLog:  Fix comment to make shebs happy...
1994-11-03 22:40:14 +00:00
Ian Lance Taylor 1a406ce8c4 * remote-mips.c (break_insn): Remove.
(BREAK_INSN, BREAK_INSN_SIZE): Define.
	(mips_insert_breakpoint): Use BREAK_INSN, not break_insn.
	(mips_remove_breakpoint): Likewise.
1994-10-06 16:42:52 +00:00
Stan Shebs 2b9fbee414 * remote-mips.c (mips_error): Place NORETURN macro correctly.
* TODO: Add item about START_INFERIOR_TRAPS_EXPECTED.
1994-09-15 00:22:11 +00:00
Jim Kingdon e1f38ddf8e * remote-mips.c: Remove unused declaration of mips_load. 1994-08-17 14:46:57 +00:00
Kung Hsu d48d9a282a Modified Files:
ChangeLog remote-mips.c

        * remote-mips.c (mips_open): add code to handle baud rate.
1994-08-10 17:37:56 +00:00
Kung Hsu b0a0ee5272 Modified Files:
remote-mips.c ChangeLog

        * remote-mips.c (mips_readchar): Fix a bug in checking <IDT>
        prompt.
1994-07-18 22:35:33 +00:00
Stan Shebs 7d13174e08 * remote-mips.c: Replace all \r chars with \015.
(mips_receive_header): Display control characters readably.
	(mips_xfer_memory): Add a simple progress display.
1994-06-30 01:59:36 +00:00
Jim Kingdon 021b10e345 * remote-mips.c (mips_fetch_registers): If regno is FP_REGNUM or
ZERO_REGNUM, just read it as zero without talking to the board.
1994-02-05 22:29:06 +00:00
Jim Kingdon aa56c7161b * remote-mips.c (mips_insert_breakpoint, mips_remove_breakpoint):
New functions.
	(mips_store_word): Change calling convention to return errors, and
	to provide old contents if the caller wants it.
	(mips_xfer_memory): Deal with errors from mips_store_word.
	* config/mips/tm-idt.h, config/mips/tm-idtl.h: Remove BREAKPOINT
	define now that remote-mips.c doesn't use BREAKPOINT.
1994-02-05 20:30:35 +00:00
Jim Kingdon 47d52968df * remote-mips.c: Use unfiltered, not filtered, output most places. 1994-01-31 18:22:06 +00:00
Jim Kingdon 796d1fd3fb * remote-mips.c (mips_ops): Fix docstring. 1994-01-28 22:06:01 +00:00
Jim Kingdon 864df7e6f3 * remote-mips.c (mips_initialize): Clear mips_initializing via
cleanup chain, not directly.

	* ser-unix.c (wait_for) [HAVE_TERMIO, HAVE_TERMIOS]: Make a timeout
	of -1 mean forever, like in the HAVE_SGTTY case.  Warn if we are
	munging the timeout due to the limited range of c_cc[VTIME].
1994-01-22 19:16:02 +00:00
Ian Lance Taylor aeb145f80b * remote-mips.c (mips_request, mips_wait): Correct prototypes. 1994-01-14 16:52:22 +00:00
Jim Kingdon f3fe8934c2 * remote-mips.c (mips_wait): Use new function mips_signal_from_protocol
to convert a signal number with appropriate bounds checking.
1994-01-11 18:45:05 +00:00
Jim Kingdon 6397809b7f * remote-mips.c (mips_wait): Fix typos (0x177 -> 0177, 0x377 -> 0377). 1994-01-11 15:04:02 +00:00
Jim Kingdon 45dc9be388 * procfs.c (procfs_wait): Fix argument name to match 4 Jan changes.
* Move target_signal_from_host, target_signal_to_host, and
	store_waitstatus from inftarg.c to target.c.  procfs needs them.
	* target.c: Include "wait.h" and <signal.h>.
	* target.h, infrun.c (proceed), proceed callers: Pass new code
	TARGET_SIGNAL_DEFAULT instead of -1.  This avoids problems with
	enums being treated as unsigned and is cleaner.
	* infrun.c (signals_info): Don't print TARGET_SIGNAL_DEFAULT or
	TARGET_SIGNAL_0.
	* infcmd.c (signal_command), infrun.c (signals_info):
	Don't allow user to specify numeric equivalent of
	TARGET_SIGNAL_DEFAULT.
1994-01-06 16:34:51 +00:00
Stan Shebs 5efb389945 Tue Jan 4 14:51:35 1994 Stan Shebs (shebs@andros.cygnus.com)
* remote-mips.c (mips_wait): Fix ref to TARGET_WAITKIND_STOPPED.
1994-01-04 22:56:06 +00:00
Jim Kingdon 67ac975911 * target.h: Add enum target_waitkind, enum target_signal, and
struct target_waitstatus.  Change status argument to target_wait to
	be struct target_waitstatus * instead of int *.
	* target.h, infrun.c, all targets: Change type of signal arguments
	to resume(), proceed(), and target_resume() from int to enum
	target_signal.
	* All targets (*_wait, *_resume): Change accordingly.
	* infcmd.c (program_info, signal_command), throughout infrun.c,
	* fork-child.c, solib.c, hppa-tdep.c, osfsolib.c: Use this stuff.
	* convex-xdep.c, convex-tdep.c: Add FIXME's (getting the Convex
	signal code stuff right with the new signals would be non-trivial).
	* inferior.h (stop_signal): Make it enum target_signal not int.
	* target.c, target.h (target_signal_to_string, target_signal_to_name,
	target_signal_from_name): New functions.
	* inftarg.c, target.h (target_signal_to_host, target_signal_from_host,
	store_waitstatus): New functions.
	* procfs.c (procfs_notice_signals): Use them.
	* i960-tdep.c (i960_fault_to_signal): New function, to replace
	print_fault.
	* config/i960/tm-i960.h: Don't define PRINT_RANDOM_SIGNAL.
1994-01-04 21:53:53 +00:00
Jim Kingdon 4c6071f78c * remote-mips.c: Add timeout parameter to mips_request and
mips_receive_packet.
        (callers): pass in mips_receive_wait except mips_initialize (where
        we use it to clean up the kludge where we had been changing
        mips_receive_wait temporarily) and mips_wait (where we pass in
        -1 for no timeout).
1993-12-31 22:34:56 +00:00
Jim Kingdon 96e5f16150 * remote-mips.c (mips_error): New function.
* remote-mips.c: Use it instead of error() most places.
	* remote-mips.c (mips_receive_packet): New arg throw_error.
	(mips_initialize): Use it not catch_errors.
	* defs.h: Declare error_pre_print and warning_pre_print here...
	* main.c: ...not here.
1993-12-31 03:05:15 +00:00
Jim Kingdon 4fb192bec1 * remote-mips.c (mips_error): New function.
* remote-mips.c: Use it instead of error() most places.
1993-12-30 22:25:52 +00:00
Jim Kingdon f4f0d17487 * valops.c (call_function_by_hand, push_word), defs.h (push_word),
convex-xdep.c, m88k-nat.c, i386m3-nat.c, mips-tdep.c, mipsm3-nat.c,
	ns32km3-nat.c, remote-bug.c, m88k-tdep.c, remote-hms.c, remote-mips.c,
	config/gould/tm-np1.h, hppa-tdep.c (hppa_fix_call_dummy), remote-vx.c:
	Use REGISTER_SIZE, unsigned LONGEST, and
	{store,extract}_unsigned_integer, instead of sizeof
	(REGISTER_TYPE) and REGISTER_TYPE.
	* All tm.h files: Change REGISTER_TYPE to REGISTER_SIZE.
	* hppa-tdep.c (pa_print_fp_reg): Remove unused variable val.

	* Makefile.in (ALLDEPFILES): Remove i386ly-nat.c and m68kly-nat.c.
	Add lynx-nat.c.
1993-12-26 18:10:22 +00:00
Thomas Lord 199b2450f6 Change the stream argument to _filtered to GDB_FILE *.
Change all references to stdout/stderr to gdb_stdout/gdb_stderr.

Replace all calls to stdio output functions with calls to
corresponding _unfiltered functions (`fprintf_unfiltered')

Replaced calls to fopen for output to gdb_fopen.

Added sufficient goo to utils.c and defs.h to make the above work.

The net effect is that stdio output functions are only directly used
in utils.c.  Elsewhere, the _unfiltered and _filtered functions and
GDB_FILE type are used.

In the near future, GDB_FILE will stop being equivalant to FILE.

The semantics of some commands has changed in a very subtle way:
called in the right context, they may cause new occurences of
prompt_for_continue() behavior.  The testsuite doesn't notice anything
like this, though.

Please respect this change by not reintroducing stdio output
dependencies in the main body of gdb code.  All output from commands
should go to a GDB_FILE.

Target-specific code can still use stdio directly to communicate with
targets.
1993-11-01 22:25:23 +00:00
David D. Zuhn f7fa951fd0 add pid argument to mips_wait 1993-10-21 23:02:40 +00:00
Stu Grossman de43d7d005 * breakpoint.c (breakpoint_thread_match break_command_1):
Thread-specific breakpoint support.
* breakpoint.h (struct breakpoint):  Add thread id field.
* fork-child.c (fork_inferior):  Move call to init_thread_list()
back a bit so that init_trace_fun can do thread functions.
* hppa-tdep.c (restore_pc_queue):  Add pid to call to target_wait.
* hppab-nat.c (child_resume):  Handle default pid.
* hppah-nat.c (child_resume):  Handle default pid.
* i386lynx-nat.c (child_wait):  New arg pid.
* inflow.c (kill_command):  Reset thread list.
* infptrace.c (child_resume):  Handle default pid.
* infrun.c:  Thread-specific breakpoint support.
* inftarg.c (child_wait):  Add pid arg.
* osfsolib.c (solib_create_inferior_hook):  Add pid to call to
target_resume.
* procfs.c:  Multi-thread support.
* remote-bug.c (bug_wait):  Add pid arg.
* remote-hms.c (hms_wait):  Add pid arg.
* remote-mips.c (mips_wait):  Add pid arg.
* remote-mon.c (monitor_wait):  Add pid arg.
* remote-nindy.c (nindy_wait):  Add pid arg.
* remote-sim.c (gdbsim_wait):  Add pid arg.
* remote-udi.c (udi_wait):  Add pid arg.
* remote-vx.c (vx_wait):  Add pid arg.
* remote-z8k.c (sim_wait):  Add pid arg.
* remote.c (remote_wait):  Add pid arg.
* solib.c (solib_create_inferior_hook):  Add pid to call to
target_resume.
* target.h (struct target_ops):  Add pid arg to to_wait and
to_notice_signals.
* thread.c (valid_thread_id):  New func to validate thread #s.
* (pid_to_thread_id):  New func to do the obvious.
* thread.h:  Prototypes for above.

* coff-solib.c (coff_solib_add):  Use nameoffset field to locate
filename.
1993-10-16 06:42:02 +00:00
Jim Kingdon 66a48870ac * remote.c, remote-mips.c: Use sr_get_debug not remote_debug. 1993-09-20 21:20:59 +00:00
Jim Kingdon b11d53baf8 * target.c, target.h: Add "set remotedebug" command.
* remote-bug.c, remote.c, remote-mips.c: Remove "set remotedebug" and
	"set m88ksnoop" options and use generic "set remotedebug" instead.
1993-08-24 06:47:03 +00:00
Stu Grossman 25286543da Sun Aug 1 22:58:18 1993 Stu Grossman (grossman at cygnus.com)
* Makefile.in (CLIBS):  Reorder to make Lynx ld happy.
	* (HFILES):  New file thread.h.
	* (OBS):  New file thread.c.
	* configure.in:  Host config for Lynx/386.
	* fork-child.c (fork_inferior):  Call init_thread_list().
	* infrun.c (resume):  Add pid to invocation of target_resume().
	* (wait_for_inferior): Pay attention to pid from target_wait().
	Multi-threading code now uses this to determine what to do.
	* inftarg.c (child_wait):  Conditionalize based on CHILD_WAIT macro.
	Use target_pid_to_str() macro throughout when printing pid.
	* inferior.h (child_resume):  Add pid to prototype.
	* hppab-nat.c hppah-nat.c infptrace.c (child_resume):  Pass in pid as
	argument, instead of using inferior_pid.
	* procfs.c (procfs_resume):  Pass in pid as argument.  Ignored for
	now.  Use target_pid_to_str() macro throughout for printing process id.
	* remote-adapt.c (adapt_resume):  Pass in pid as argument.
	* remote-eb.c (eb_resume):  Pass in pid as argument.
	* remote-es.c (es1800_resume):  Pass in pid as argument.
	* remote-hms.c (hms_resume):  Pass in pid as argument.
	* remote-mips.c (mips_resume):  Pass in pid as argument.
	* remote-mm.c (mm_resume):  Pass in pid as argument.
	* remote-monitor.c (monitor_resume):  Pass in pid as argument.
	* remote-nindy.c (nindy_resume):  Pass in pid as argument.
	* remote-sa.sparc.c (remote_resume):  Pass in pid as argument.
	* remote-sim.c (rem_resume):  Pass in pid as argument.
	* remote-sp64sim.c (simif_resume):  Pass in pid as argument.
	* remote-st.c (st2000_resume):  Pass in pid as argument.
	* remote-udi.c (udi_resume):  Pass in pid as argument.
	* remote-vx.c (vx_resume):  Pass in pid as argument.
	* remote-z8k.c (rem_resume):  Pass in pid as argument.
	* remote.c (remote_resume):  Pass in pid as argument.
	* solib.c (solid_create_inferior_hook):  Pass inferior_pid to
	target_resume().
	* target.c (normal_pid_to_str):  New routine to print out process
	ID normally.
	* target.h (struct target_ops):  Add pid to prototype at
	to_resume().  (target_resume):  Add pid argument.
	* (target_pid_to_str):  Default definition for normal type pids.
	* thread.c, thread.c:  New modules for multi thread/process control.
1993-08-02 06:25:36 +00:00
Ian Lance Taylor 0907dc0932 * remote-mips.c (_initialize_remote_mips): Added "timeout" and
"retransmit-timeout" variables to set mips_receive_wait and
	mips_retransmit_wait, respectively.
1993-07-28 15:28:53 +00:00
Jim Kingdon 34df79fc9d * findvar.c, defs.h
({extract,store}_{signed_integer,unsigned_integer,address}):
	New routines to replace SWAP_TARGET_AND_HOST.
	All over: All uses of SWAP_TARGET_AND_HOST on integers replaced.
1993-07-10 01:35:53 +00:00
David D. Zuhn 77641260c5 fix include file ordering problem (bfd.h vs. symfile.h) 1993-06-29 15:30:57 +00:00
Jim Kingdon 9748446f53 * defs.h, main.c (catch_errors): Add return_mask arg.
stack.c (print_frame_info): Pass RETURN_MASK_ERROR.
	other callers: Pass RETURN_MASK_ALL.
	(return_to_top_level), callers: Add return_reason arg.
	* utils.c (quit):
	Use return_to_top_level (RETURN_QUIT) instead of error ().
	* main.c (main), tm-nindy960.h (ADDITIONAL_OPTION_HANDLER):
	Use SET_TOP_LEVEL not setjmp (to_top_level).
	* remote-nindy.c: Use catch_errors not setjmp (to_top_level).
1993-06-13 18:16:42 +00:00
Ian Lance Taylor 83909c43b6 (mips_fetch_registers): Pass a pointer to SWAP_TARGET_AND_HOST,
not an integer.
1993-06-11 20:51:22 +00:00
Ian Lance Taylor f63f30e2cc * remote-mips.c (mips_send_packet): Don't print garbage character
in debugging info.
	(mips_request): Don't check that remote pid is 0, because
	sometimes it isn't.
1993-06-11 20:35:35 +00:00
Jim Kingdon 6b27ebe851 * symfile.{c,h} (generic_load): New function.
remote{,-nindy,-eb,-mips}.c: Use it.
1993-06-08 19:48:15 +00:00
Jim Kingdon 71607f9d62 * Remote targets (mourn): Call unpush_target. 1993-04-28 15:33:20 +00:00
Ian Lance Taylor 9a9a88c18f Fix typo, change appropriate instances of -2 to SERIAL_TIMEOUT, add
explicit != 0 tests, improve comments.
1993-04-10 20:25:54 +00:00
Stu Grossman 1724c671da * remote-mips.c, remote-monitor.c, remote-st2000.c: Convert to
new serial interface.
1993-04-09 22:55:00 +00:00
Ian Lance Taylor c2a0f1cb8e * remote-mips.c: New file; implements MIPS remote debugging
protocol.
	* config/idt.mt: New file; uses remote-mips.c
	* configure.in (mips-idt-ecoff): New target; uses idt.mt.

	* mips-tdep.c (mips_fpu): New variable; controls use of MIPS
	floating point coprocessor.
	(mips_push_dummy_frame): If not mips_fpu, don't save floating
	point registers.
	(mips_pop_frame): If not mips_fpu, don't restore floating point
	registers.
	(_initialize_mips_tdep): New function; let the user reset mips_fpu
	variable.
	* tm-mips.h (EXTRACT_RETURN_VALUE, STORE_RETURN_VALUE): If not
	mips_fpu, don't use fp0 as floating point return register.
	(FIX_CALL_DUMMY): If not mips_fpu, don't save floating point
	registers.

Also added remote-mips.c to .Sanitize file.
1993-02-22 23:43:03 +00:00
Ian Lance Taylor 33742334a8 Checkpoint. Runs "hello, world", sets breakpoints, isn't too graceful
about program termination.

This file probably should not be part of gdb 4.8, although it wouldn't
do any actual harm.  Not yet added to .Sanitize.
1993-02-12 20:47:59 +00:00