199 Commits

Author SHA1 Message Date
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
4704fd9cab * remote-mips.c: Add support for speedy (about 10x faster)
downloads.
1995-10-16 19:02:41 +00:00
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
6c9638b444 Update FSF address. 1995-08-02 03:41:12 +00:00
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
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
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
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
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
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
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
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
e1f38ddf8e * remote-mips.c: Remove unused declaration of mips_load. 1994-08-17 14:46:57 +00:00
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
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
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
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
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
47d52968df * remote-mips.c: Use unfiltered, not filtered, output most places. 1994-01-31 18:22:06 +00:00
796d1fd3fb * remote-mips.c (mips_ops): Fix docstring. 1994-01-28 22:06:01 +00:00
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
aeb145f80b * remote-mips.c (mips_request, mips_wait): Correct prototypes. 1994-01-14 16:52:22 +00:00
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
6397809b7f * remote-mips.c (mips_wait): Fix typos (0x177 -> 0177, 0x377 -> 0377). 1994-01-11 15:04:02 +00:00
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
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
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
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
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
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
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
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
f7fa951fd0 add pid argument to mips_wait 1993-10-21 23:02:40 +00:00
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
66a48870ac * remote.c, remote-mips.c: Use sr_get_debug not remote_debug. 1993-09-20 21:20:59 +00:00
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
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
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
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
77641260c5 fix include file ordering problem (bfd.h vs. symfile.h) 1993-06-29 15:30:57 +00:00
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
83909c43b6 (mips_fetch_registers): Pass a pointer to SWAP_TARGET_AND_HOST,
not an integer.
1993-06-11 20:51:22 +00:00
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
6b27ebe851 * symfile.{c,h} (generic_load): New function.
remote{,-nindy,-eb,-mips}.c: Use it.
1993-06-08 19:48:15 +00:00
71607f9d62 * Remote targets (mourn): Call unpush_target. 1993-04-28 15:33:20 +00:00
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
1724c671da * remote-mips.c, remote-monitor.c, remote-st2000.c: Convert to
new serial interface.
1993-04-09 22:55:00 +00:00
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
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