Commit graph

25 commits

Author SHA1 Message Date
Stu Grossman
647e52ea3a Changes from the FSF for Hurd thread support. 1996-07-17 06:03:26 +00:00
Fred Fish
3730a0edf1 * lynx-nat.c, irix4-nat.c, sparc-nat.c: Include gdbcore.h
to get "struct core_fns" defined.
	* Makefile.in (lynx-nat.o, irix4-nat.o, sparc-nat.o):
 	Are dependant upon gdbcore_h.
1996-01-12 16:01:29 +00:00
Fred Fish
a1df8e780c * coredep.c: Renamed to core-aout.c
* core-svr4.c: Renamed to core-regset.c
	* Makefile.in (ALLDEPFILES): Account for renamings.
	* corelow.c (core_file_fns): Add, points to chain of structs.
	(add_core_fns): New function to build chain of structs.
	(get_core_registers): Modify to search core functions chain and call
 	appropriate fetch_core_registers function based on core file flavour.
	* gdbcore.h (fetch_core_registers):  Remove declaration.
	(struct core_fns): Define struct for core function info.
	* i386m3-nat.c: Update comment for filename change (coredep->core-aout)
	* a68v-nat.c (fetch_core_registers): Remove stub, not needed now.
	* alpha-nat.c (fetch_core_registers): Make static.
	(alpha_core_fns, _initialize_core_alpha): New struct and func.
	* core-aout.c (fetch_core_registers): Make static
	(aout_core_fns, _initialize_core_aout): New struct and func.
	* core-regset.c (fetch_core_registers): Make static.
	(regset_core_fns, _initialize_core_regset): New struct and func.
	* core-sol2.c (fetch_core_registers): Make static.
	(solaris_core_fns, _initialize_core_solaris): New struct and func.
	* hp300ux-nat.c (fetch_core_registers): Make static.
	(hp300ux_core_fns, _initialize_core_hp300ux): New struct and func.
	* i386aix-nat.c (fetch_core_registers): Make static.
	(i386aix_core_fns, _initialize_core_i386aix): New struct and func.
	* i386mach-nat.c (fetch_core_registers: Make static.
	(i386mach_core_fns, _initialize_core_i386mach): New struct and func.
	* irix4-nat.c (fetch_core_registers): Make static.
	(irix4_core_fns, _initialize_core_irix4): New struct and func.
	* irix5-nat.c (fetch_core_registers):
	(irix5_core_fns, _initialize_core_irix5): New struct and func.
	* lynx-nat.c (fetch_core_registers): Make static.
	(lynx_core_fns, _initialize_core_lynx): New struct and func.
	* mips-nat.c (fetch_core_registers): Make static.
	(mips_core_fns, _initialize_core_mips): New struct and func.
	* ns32km3-nat.c (fetch_core_registers): Remove stub.
	* rs6000-nat.c (fetch_core_registers): Make static.
	(rs6000_core_fns, _initialize_core_rs6000): New struct and func.
	* sparc-nat.c (fetch_core_registers): Make static.
	(sparc_core_fns, _initialize_core_sparc): New struct and func.
	* sun3-nat.c (fetch_core_registers):
	(sun3_core_fns, _initialize_core_sun3): New struct and func.
	* sun386-nat.c (fetch_core_registers): Remove stub.
	* ultra3-nat.c (fetch_core_registers): Make static.
	(ultra3_core_fns, _initialize_core_ultra3): New struct and func.
	* config/gould/pn.mh (XDEPFILES),
 	config/i386/fbsd.mh (NATDEPFILES),
	config/i386/i386bsd.mh (NATDEPFILES),
 	config/i386/i386m3.mh (XDEPFILES),
	config/i386/i386sco.mh (NATDEPFILES),
	config/i386/i386sco4.mh (NATDEPFILES),
	config/i386/i386v.mh (NATDEPFILES),
	config/i386/i386v32.mh (NATDEPFILES),
	config/i386/nbsd.mh (NATDEPFILES),
	config/i386/ptx.mh (XDEPFILES),
	config/i386/ptx4.mh (XDEPFILES),
	config/i386/symmetry.mh (NATDEPFILES),
	config/m68k/3b1.mh (XDEPFILES),
	config/m68k/cisco.mt (TDEPFILES),
	config/m68k/delta68.mh (NATDEPFILES),
	config/m68k/dpx2.mh (NATDEPFILES),
	config/m68k/hp300bsd.mh (NATDEPFILES),
	config/m68k/hp300hpux.mh (NATDEPFILES),
	config/m68k/isi.mh (XDEPFILES),
	config/m68k/news.mh (NATDEPFILES),
	config/m68k/news1000.mh (XDEPFILES),
	config/m88k/cxux.mh (NATDEPFILES),
	config/m88k/delta88.mh (NATDEPFILES),
	config/mips/littlemips.mh (XDEPFILES),
	config/mips/mipsm3.mh (XDEPFILES),
	config/ns32k/merlin.mh (XDEPFILES),
	config/ns32k/nbsd.mh (NATDEPFILES),
	config/ns32k/ns32km3.mh (NATDEPFILES),
	config/pa/hppabsd.mh (NATDEPFILES),
	config/pa/hppahpux.mh (NATDEPFILES),
	config/romp/rtbsd.mh (XDEPFILES),
	config/tahoe/tahoe.mh (XDEPFILES),
	config/vax/vaxbsd.mh (XDEPFILES),
	config/vax/vaxult.mh (NATDEPFILES),
	config/vax/vaxult2.mh (NATDEPFILES),
	Account for coredep.o to core-aout.o name change.
	* config/i386/i386dgux (NATDEPFILES),
	config/i386/i386sol2.mh (NATDEPFILES),
	config/i386/i386v4.mh (NATDEPFILES),
	config/i386/linux.mh (NATDEPFILES),
	config/i386/ncr3000.mh (NATDEPFILES),
	config/m68k/m68kv4.mh (NATDEPFILES),
	config/m88k/delta88v4.mh (NATDEPFILES),
	config/mips/mipsv4.mh (NATDEPFILES),
	Account for core-svr4.o to core-regset.o name change.
1996-01-11 20:08:15 +00:00
Fred Fish
6c9638b444 Update FSF address. 1995-08-02 03:41:12 +00:00
Jeff Law
b339391255 * lynx-nat.c (child_wait): Handle threads exiting. 1995-07-27 19:57:16 +00:00
Jeff Law
f8c90568d5 * lynx-nat.c (child_thread_alive): New function. Somehow I
forgot to check this in with all the other thread_alive changes.
1995-07-21 23:52:45 +00:00
Jeff Law
5c54124bab * lynx-nat.c (child_wait): A thread_id of zero from wait apparently
means the process is single threaded, so there's no need to add
        it to the thread list.  Handle case where multi-threaded process
        reverts back to a single-threaded process.
1995-07-20 21:25:12 +00:00
Jeff Law
48f4903f36 * infrun.c (wait_for_inferior): When we hit a breakpoint for the
wrong thread, make sure to write the fixed PC value into the thread
        that stopped.  Restart all threads after single stepping over a
        breakpoint for a different thread.
        * breakpoint.c (set_momentary_breakpoint): Make momentary
        breakpoints thread specific in a multi-threaded program.
        * lynx-nat.c (child_resume): Add some comments.  Correctly
        choose between the single and multi-threaded step and continue
        ptrace calls.

Some of the lynx-6100 single stepping fixes.
1995-07-04 17:40:41 +00:00
Jeff Law
1657d50b38 * lynx-nat.c (child_wait): Don't restart new threads and loop
to the top of child_wait; let the machine independent code in
        wait_for_inferior deal with new thread notifications.

lynx-6100 (partial)
Fixes SEGV when multi-threaded program hits a breakpoint in a new
thread.
1995-06-25 02:33:33 +00:00
Ian Lance Taylor
60e86a677e * lynx-nat.c (child_wait): Correct handling of byte reversed SPARC
Lynx wait status.
	(fetch_core_registers): Don't try to fetch a register if
	regmap maps it to -1.
	* sparc-tdep.c (sparc_frame_find_saved_regs): Use FRAME_SAVED_I0
	and FRAME_SAVED_L0 when setting saved_regs_addr.  SPARC Lynx
	stores the registers in a weird order.
These patches make SPARC Lynx gdb usable, though it still has problems.
1994-10-11 21:08:57 +00:00
Jim Kingdon
a5732a3067 * lynx-nat.c (child_wait): Use status.w_status, not status, in
arithmetic.  status is a `union wait'.
1994-09-30 22:53:36 +00:00
Jim Kingdon
6adffcd857 * config/nm-lynx.h (PTRACE_ARG3_TYPE): Define to int, not char *.
* lynx-nat.c (child_wait): Pass fourth argument to ptrace.
1994-09-30 13:58:58 +00:00
Jim Kingdon
1e75b5f530 * inflow.c (set_sigint_trap, clear_sigint_trap): Check for
attach_flag (this check was performed by the callers).  Also check
	inferior_thisrun_terminal.
	* inftarg.c (child_wait), lynx-nat.c (child_wait),
	procfs.c (wait_fd), symm-nat.c (child_wait): Don't check
	attach_flag in deciding whether to call set_sigint_trap and
	clear_sigint_trap.
1994-08-31 20:42:10 +00:00
Stu Grossman
320f93f714 * dbxread.c, partial-stab.h (near N_SO): SO stabs with blank
names mean end of .o file.
	* infrun.c (wait_for_inferior):  Clean up multi-thread logic near
	top of routine.  Handle new thread notification cleanly.
	* lynx-nat.c (child_wait):  General cleanups, handle new LynxOS
	thread notification scheme.
	* (child_resume):  General cleanups, handle resumption of all
	threads properly.
1994-06-28 23:36:52 +00:00
Stu Grossman
2e6784a89f * configure.in: Add nlm subdir to configdirs for alpha-*-netware
target.
	* defs.h (enum language):  Add language_asm.
	* findvar.c (read_register_bytes read_register_gen
	write_register_bytes read_register read_register_pid
	write_register write_register_pid supply_register):  Move multi-
	thread handling down into these routines.  Create XXX_pid routines
	that allow register references to specify the pid.
	* findvar.c infcmd.c (read_pc read_pc_pid write_pc write_pc_pid
	read_sp write_sp read_fp write_fp):  Move these routines from
	infcmd to findvar to centralize the whole mess.
	* i386-nlmstub.c:  Portability fixes.
	* infptrace.c (child_resume):  Conditionalize to allow other natives
	to override it.  Remove PIDGET gubbish, it's no longer necessary.
	* infrun.c (wait_for_inferior):  Put registers_changed() before
	target_wait() to speed up remote debugging.
	* Replace code that reads registers from other threads with much
	nicer looking new function calls (see changes to findvar.c).
	* Don't skip prologues if debugging assembly source.
	* lynx-nat.c (child_resume):  Lynx now needs it's own version of
	child_resume to handle multi-thread debugging properly.
	* remote.c:  Add O response to get console output from target.
	* (readchar): Add timeout parameter.  Handle SERIAL_EOF and
	SERIAL_ERROR here to simplify callers.
	* Change static var timeout to remote_timeout.
	* (fromhex):  Remove unnecessary return -1 at end of routine.
	* (remote_wait):  Turn this into a big switch statement.  Add
	support for O response.
	* (putpkt):  Remove unnecessary handling of SERIAL_EOF/ERROR.
	* (getpkt):  Split getpkt into two parts.  read_frame deals with
	all formatting issues, run-length encoding, and framing.  getpkt
	now handles error recovery, and frame detection.
	* ser-tcp.c (tcp_readchar):  Handle EINTR from read().
	* ser-unix.c (hardwire_raw):  Set CLOCAL so that we ignore modem
	control.  (hardwire_readchar):  Handle EINTR from read().
	* symfile.c (deduce_language_from_filename):  Add support for .s
	files.
	* config/nm-lynx.h:  Define CHILD_WAIT so that lynx-nat.c can
	override infptrace's child_wait.
	* config/rs6000/rs6000lynx.mh:  Use xm-rs6000ly.h & nm-rs6000ly.h
	instead of XXXlynx.h.
	* config/rs6000/rs6000lynx.mt:  Use tm-rs6000ly.h instead of
	tm-rs6000lynx.h.
	* nlm/gdbserve.c:  Portability fixes.
1994-06-02 16:58:48 +00:00
Stan Shebs
aa17521656 Wed Apr 27 16:33:51 1994 Stan Shebs (shebs@andros.cygnus.com)
* lynx-nat.c (CANNOT_STORE_REGISTER): Add a fallback definition
	for Lynx platforms that need it.
	* config/nm-lynx.h (__LYNXOS): Define if not already defined.
1994-04-27 23:35:49 +00:00
Stu Grossman
790a14a88b * lynx-nat.c: Restore regmap structure for SPARC. It's needed
for core files.
1994-04-08 22:37:35 +00:00
Stu Grossman
d87d7b10af * configure.in: Add Lynx/rs6000 support.
* lynx-nat.c:  Clean up some Sparc stuff.  Clean up ptrace error
	messages.  Add rs6000 support.  Don't try to modify unwritable
	registers.
	* rs6000-nat.c:  Move lots of native dependent stuff (like core
	file support) from rs6000-tdep.c & xcoffexec.c to here.
	* rs6000-tdep.c:  Move native dependent stuff to nat.c.
	* xcoffexec.c:  Move native dependent stuff to nat.c.
	* config/rs6000/nm-rs6000.h:  Move defs of SOLIB_* macros to here
	from tm	file.
	* config/rs6000/tm-rs6000.h:  Remove defs of SOLIB_* funcs, cuz they're
	really native.
	* config/rs6000/tm-rs6000lynx.h, config/rs6000/xm-rs6000lynx.h:
	New files to support Lynx/rs6000.
1994-02-12 01:08:29 +00:00
Stu Grossman
e90445c997 * lynx-nat.c (fetch_core_registers): Load the I & L regs for the
Sparc from the stack.
1994-01-22 20:34:37 +00:00
Stu Grossman
8bf94f44bc * sparc-tdep.c, lynx-nat.c, config/sparc/tm-sparc.h,
config/sparc/tm-sparclynx.h:  Move defs of FRAME_SAVED_I0/L0 to
	tm-sparc.h so they can be overridden if necessary.
1994-01-22 08:42:14 +00:00
Stu Grossman
d575ddc0ef * lynx-nat.c: Add Sparc support.
* sparcly-nat.c:  Remove.  It's useless.
	* config/sparc/nm-sparclynx.h:  Rewrite.
	* config/sparc/sparclynx.mh (NATDEPFILES):  Replace sparcly-nat.o
	with lynx-nat.o
	* config/sparc/tm-sparclynx.h:  Rewrite.
1994-01-22 01:58:55 +00:00
Stan Shebs
658821b9fa Fri Jan 14 17:12:28 1994 Stan Shebs (shebs@andros.cygnus.com)
* lynx-nat.c (sys/wait.h): Don't use absolute pathname.
1994-01-15 01:15:55 +00:00
Jim Kingdon
2919ae5a6a * lynx-nat.c (child_wait): Fix thinkos in struct target_waitstatus
changes (status -> ourstatus; declare status, etc.).
	* config/nm-lynx.h: Fix child_wait prototype and include target.h.
1994-01-14 19:57:50 +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
Stu Grossman
d3225ea0ac * i386ly-nat.c, i386lynx-nat.c, m68kly-nat.c: Remove. Move
common code into lynx-nat.c.
	* lynx-nat.c:  New module.  Contains portable code for Lynx native
	stuff (mostly ptrace related).
	* config/i386/i386lynx.mh (NATDEPFILES):  i386ly-nat.o -> lynx-nat.o
	* config/m68k/m68klynx.mh (NATDEPFILES):  i386ly-nat.o -> lynx-nat.o

	* config/nm-lynx.h, config/tm-lynx.h:  New files to contain
	non-architecture specific native and target defs.
	* config/i386/nm-i386lynx.h, config/i386/tm-i386lynx.h,
	config/m68k/nm-m68klynx.h, config/m68k/tm-m68klynx.h:  Move all
	(arch) portable stuff into ../{tm nm}-lynx.h.
1993-11-17 07:17:45 +00:00