Commit graph

217 commits

Author SHA1 Message Date
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