Commit Graph

720 Commits

Author SHA1 Message Date
K. Richard Pixley
93282e6139 Sun3 native support.
* config/sun3os3.mh, config/sun3os4.mh (NAT_FILE, NATDEPFILES):
  new macros for native support.
  (XDEPFILES): moved infptrace.o and inftarg.o to NATDEPFILES,
  removed sun3-xdep.o.
* xm-sun3.h (ATTACH_DETACH, FETCH_INFERIOR_REGISTERS): moved to
  nm-sun3.h.
* sun3-xdep.c: removed.  All code is now in sun3-nat.c.
* sun3-nat.c, nm-sun3.h: new files for native support.
1992-10-01 22:44:25 +00:00
John Gilmore
a65841d768 Add `command hooks' and a hook for inferior program stopping.
* command.h (struct cmd_list_element):  Remove unused `aux'
field.  Add new `hook', `hookee', and `cmd_pointer' fields.
* command.c (add_cmd):  Initialize new fields, elim old.
(add_alias_cmd):  Clone new fields.
(delete_cmd):  Un-hook hookee if we're deleting hook.
(help_cmd):  Tell user the command is hooked, if it is.
(lookup_cmd_1):  Abbreviations return the original command
instead of themselves, so that hooks on the original cmd will be
run.
* defs.h (enum command_class):  Add class_pseudo and comments.
* gdbcmd.h (execute_user_command):  Add prototype.
* infrun.c (normal_stop):  If the stop command is hooked,
run the hook whenever we stop.
(hook_stop_stub):  Stub for catch_errors.
(_initialize_infrun):  Set up pseudo "stop" command.
* main.c (execute_user_command):  Code extracted from execute_command.
(execute_command):  If hooked, run the hook before the command.
(define_command):  If defining a new hook, check the command it
is hooking, and warn if none.  Install the hook.
* source.c (_initialize_source):  "l" is an abbrev for "list".
* doc/gdb.texinfo:  Document command hooks.

* Makefile.in (VERSION):  Roll to 4.6.7.
* config/sun4os4.mh:  Remove dup inftarg.o from NATDEPFILES.
* infrun.c (breakpoints_inserted):  Make it static again.
* tm-symmetry.h (FLOAT_INFO):  #if 0 it for cross-ptrace abuse.
1992-10-01 09:57:36 +00:00
K. Richard Pixley
9c14e78d73 missed a ChangeLog entry 1992-09-30 22:40:17 +00:00
K. Richard Pixley
dfc8261766 Native file renaming.
* nat-sparc.c -> sparc-nat.c
* nat-sun4os4.h -> nm-sun4os4.h
* nat-trash.h -> nm-trash.h
* configure.in: link to nm.h rather than nat.h.
* infptrace.c: include nm.h rather than nat.h.
1992-09-30 22:39:02 +00:00
K. Richard Pixley
c9c2341230 Host/target/native split for sun4.
* Makefile.in (TSOBS): removed corelow.o.
* infptrace.c: included nat.h.
* nat-trash.h: temporary header file.  This should be removed once
  all hosts have the native/host/target split.
* configure.in: add a symlink from nat-trash.h to nat.h if no
  other nat file exists for this configuration.
* sparc-tdep.c: no longer include sys/ptrace.h.
* sparc-xdep.c: removed.  contents have been moved to nat-sparc.c.
* xm-sparc.h (ATTACH_DETACH, FETCH_INFERIOR_REGISTERS): moved to
  nat-sun4os4.h.
* nat-sparc.c, nat-sun4os4.h: new files for sun4 native support.
* config/sun4os4.mh (XDEPFILES): moved infptrace.o and inftarg.o
  to NATDEPFILES.  removed sparc-xdep.o.
  (NATDEPFILES, NAT_FILE): new macros for native support.
1992-09-30 02:03:24 +00:00
K. Richard Pixley
df9b3bfc4c Break the direct connection from core_file_command to any
particular type of core file support.

* target.h (find_core_target): new prototype.
* target.c (find_core_target): new function.  Walks the target
  list looking for the core target.
* core.c (core_file_command): replace calls to core_detach and
  core_open with find_core_target and direct calls.
1992-09-29 21:51:16 +00:00
Ian Lance Taylor
be891e75a3 Tue Sep 29 10:19:00 1992 Ian Lance Taylor (ian@cygnus.com)
* xm-hp300hpux.h: define MEM_FNS_DECLARED; include <sys/ptrace.h>
	for infptrace.c.
	config/hp300hpux.mh: ALLOCA1 was not defined.
1992-09-29 17:43:35 +00:00
Stu Grossman
597dc86b1b * breakpoint.c, exec.c, language.c, main.c, printcmd.c, symfile.c,
target.c, valprint.c:  Use unfiltered forms of f/printf, et. al.
until we can figure out a better way to do paging.
1992-09-29 05:07:30 +00:00
John Gilmore
e0ba1d1427 * findvar.c (supply_register): Add CLEAN_UP_REGISTER_VALUE hook.
* tm-hppa.h (CLEAN_UP_REGISTER_VALUE):  Use it.
* hppa-coredep.c:  Remove, now that we use the hook.
* config/hppab.mh, config/hppah.mh:  Use standard coredep.o.
* hppab-xdep.c, hppah-xdep.c:  Remove custom code, use hook.

* dbxread.c, partial-stab.h:  Replace all #ifdef hp9000s800's with
GDB_TARGET_IS_HPPA's.  This is a SERIOUS KLUDGE.  The code needs to all
be ripped out and reimplemented right (see elfread.c).
* tm-hppa.h (GDB_TARGET_IS_HPPA):  Define.
1992-09-26 10:24:26 +00:00
John Gilmore
3fbdd5366e Make the /proc support a target-struct in its own right.
* inferior.h (proc_wait, inferior_proc_init, proc_set_exec_trap):
No longer global functions.
(fork_inferior):  New global function from fork-child.c.
* inftarg.c (child_wait):  Remove USE_PROC_FS conditional.
(ptrace_me, ptrace_him):  New stub functions for fork_inferior().
(child_create_inferior):  Moved to fork-child.c as fork_inferior.
(child_create_inferior):  New tiny function that calls fork_inferior.
* fork-child.c:  New file, containing fork_inferior, which is
built from slight mods to inftarg.c's child_create_inferior.

* procfs.c (procfs_ops):  Add target vector.
(attach):  Rename as static do_attach.
(procfs_create_inferior):  New tiny function that calls fork_inferior.
(child_xfer_memory):  Rename to static procfs_xfer_memory.
(store_inferior_registers):  Rename to static procfs_store_registers.
(inferior_proc_init):  Rename to static procfs_init_inferior.
(procfs_attach, procfs_detach, procfs_prepare_to_store,
procfs_files_info, procfs_open, procfs_mourn_inferior,
procfs_can_run):  Slightly mangled copies of the corresponding
child_XXX routines from inftarg.c.
(proc_wait):  Renamed to static procfs_wait.
(child_resume):  Rename to static procfs_resume.
(fetch_inferior_registers):  Rename to static procfs_fetch_registers.
(initialize_proc_fs):  Rename to initialize_procfs.  Set up
procfs_ops, too.
* xm-irix4.h, xm-sysv4.h (CREATE_INFERIOR_HOOK):  No longer needed.
1992-09-26 09:06:30 +00:00
John Gilmore
b3d4dd73c3 * Makefile.in: Remove inftarg.[co], since it is now included via
config/*.mh files.
* config/*.mh:  Add inftarg.o and fork-child.o to all *.mh that
reference infptrace.o.  Add fork-child.o to all *.mh that
reference procfs.o.
1992-09-26 08:06:45 +00:00
John Gilmore
a5a7c719fc Lint 1992-09-26 05:34:14 +00:00
John Gilmore
836e343b01 Split non-target-dependent code out of target_attach routines.
* target.h:  Comments on target_attach args and results.
* infcmd.c (attach_command): Check for existing execution, call
target_attach, set up terminal status and wait_for_inferior, wait
for the attach status, and do normal_stop.
* inftarg.c (child_attach):  Remove target independent stuff.
* remote-adapt.c (adapt_attach):  Ditto.
* remote-mm.c (mm_attach):  Ditto.
* remote-udi.c (udi_attach):  Ditto.
* remote-vx.c (vx_attach):  Ditto.

Cleanup.

* remote-hms.c (hms_attach):  Remove completely, it was useless.
* remote-mm.c, remote-hms.c, remote-udi.c, remote-adapt.c:  Remove
commented-out start_remote calls.
* remote-hms.c, remote-adapt.c, remote-mm.c, remote-udi.c: Remove
DENTER and DEXIT macros and their calls.  Use a real debugger --
like gdb -- to see what functions are being called when.
1992-09-26 05:20:24 +00:00
John Gilmore
3aa6856ae8 * infrun.c, inftarg.c, inferior.h: Comment and lint cleanups. 1992-09-26 01:49:18 +00:00
Stu Grossman
1aed676612 * tm-sparc.h, dbxread.c (read_ofile_symtab): Install Jim Wilson's
fix to differentiate between gcc1 & gcc2 compiled files so that we
can debug calls that pass structs as args correctly.
* symmisc.c (dump_symtab):  If block was compiled with gcc, say
so, and what version.
1992-09-25 22:59:27 +00:00
Stu Grossman
b869d3f47f * remote.c (remote_wait): Make regs be char to avoid picayune
ANSI compiler warnings.

* energize.h:  Move all external struct decls to inside of
__STDC__, add prototype for energize_shell_wait().
* energize.c (getpty):  Clean up, make us really get a controlling
terminal.
* (energize_initialize):  Disable SIGIO prior to setting up for
I/O interrupts.  Move setsid(), et. al. to getpty().
* (energize_shell_wait):  New routine to wait for things started
via the shell command, uses wait() instead of /dev/proc.
* Also, add prototype for execute_command_1().
1992-09-25 22:23:54 +00:00
K. Richard Pixley
310cc57043 * inftarg.c (child_create_inferior, child_attach,
child_mourn_inferior): collect unix child process stratum
	  functions which live below the target vector into this file to
	  facilitate host/target/native split.  Also, make them static.
	* inflow.c (child_mourn_inferior): removed.
	* infrun.c (child_create_inferior, child_attach): removed.
	  (resume): becomes global so that functions below the
	  target vector can find it.
	* inferior.h (resume): add prototype.
	  (child_mourn_inferior, child_create_inferior, child_attach):
	  remove prototypes.
1992-09-25 19:19:08 +00:00
K. Richard Pixley
050d45c5ea * xcoffexec.c (exec_ops): child_attach and child_create_inferior
replaced with find_default_attach and
	  find_default_create_inferior.
1992-09-25 19:11:25 +00:00
K. Richard Pixley
8afd6ca547 Separate core functions along target vector in preparation for
native support.  Functions above vector now live in core.c.  Those
        below in corelow.c.

	* core.c (solib_add_stub, core_close, core_open, core_detach,
	  get_core_registers, core_files_info, core_ops): moved to corelow.c
	  (_initialize_core): removed addition of core_ops target.
	* corelow.c: new file.
	(solib_add_stub, core_close, core_open, core_detach,
	get_core_registers, core_files_info, core_ops): moved from core.c
	(_initialize_corelow): new function.
	* gdbcore.h (core_open, core_detach): added prototypes.
	(core_ops): add forward declaration.
	* Makefile.in (SFILES_MAINDIR): add core.c
	(OBS): add core.o
	(TSOBS): change core.o to corelow.o
1992-09-25 17:03:55 +00:00
Stu Grossman
cdfab26752 * m68k-tdep.c (m68k_saved_pc_after_call): Use 'GDB_TARGET_IS_SUN3'
instead of 'sun' predefined symbol so that trap analysis code is
enabled only when the TARGET is a sun3.
1992-09-23 18:19:19 +00:00
Ken Raeburn
5e9a7f0077 fix repeated ext_format_i960 local decls so sun4 cc accepts it 1992-09-22 21:55:21 +00:00
John Gilmore
ebeccdf0b8 * mips-pinsn.c (print_insn_arg, case 'B'): Disassemble `break'
instruction's argument.  Patch from jonathan@cs.stanford.edu
(Jonathan Stone).
1992-09-22 07:46:14 +00:00
John Gilmore
5ee4e16ca7 Break the thread of control that implies that a unix child
process will be the default target.

* target.c (find_default_run_target, find_default_attach,
find_default_create_inferior, return_zero):  new functions.
(cleanup_target):  Make return_zero the default for to_can_run.

* exec.c (exec_ops), core.c (core_ops):  Replace child_attach and
child_create_inferior references with find_default_XXX instead.

* target.h (struct target_ops): new field, to_can_run.
(find_default_attach, find_default_create_inferior):  new prototypes.
(target_can_run): new macro.

* Also added a zero (default) to_can_run element to all static
struct target_ops initializations throughout GDB, except:
* inftarg.c (child_ops): Use new child_can_run() to enable child runs.

* infrun.c (child_create_inferior):  Clean up error handling when
no exec file is specified.
(child_attach):  Don't require exec file.
1992-09-22 07:23:35 +00:00
John Gilmore
b28d361723 Remove kill_inferior_fast, in favor of target_kill, which goes
through the target vector.

* inferior.h (kill_inferior_fast): remove declaration.

* main.c (disconnect): call quit_cover using catch_errors rather
than calling kill_inferior_fast directly.  New way goes through
the target vector, handles attached processes, and writes
command history if appropriate.
(quit_cover): new function, wrapper for quit_command.

* convex-xdep.c, go32-xdep.c, hppabsd-xdep.c, hppahpux-xdep.c,
infptrace.c, procfs.c:  Removed all instances of kill_inferior_fast,
inlining them into the local kill_inferior when needed.
1992-09-22 05:23:57 +00:00
John Gilmore
6b50c5c242 * infrun.c (_initialize_infrun): Alias i handle' == i signals'.
* stabsread.c (read_struct_type): Simplify complicated expression
for dumb DECstation compiler.
1992-09-22 02:33:11 +00:00
Ian Lance Taylor
8f61b5e451 Patches from WRS:
Mon Sep 21 14:54:35 1992  Ian Lance Taylor  (ian@cygnus.com)

	* m68k-pinsn (print_insn_arg, fetch_arg): added support for
	operands to memory management instructions, from WRS.
1992-09-21 22:36:04 +00:00
Fred Fish
538280d81e * main.c (main): Back out previous language setting changes.
Replace with simple default to C before processing any init
	files.  There MUST be a language set, even in the absence of
	init files or executables, or expression parsing fails.
1992-09-20 15:45:52 +00:00
Fred Fish
d75710b02c * main.c (main): Move code that sets initial language to
symfile.c.  Fixup places where command files are processed to
	be consistent in setting a default language if none has been
	previously set.
	* symfile.c (set_initial_language):  Add code moved from
	main() that sets an initial default language when a new
	symbol file is read.
	* symfile.c (symbol_file_command):  Call set_initial_language.
	* symtab.c (find_main_psymtab):  Add FIXME comment.
1992-09-19 16:55:34 +00:00
John Gilmore
5f1c39efa2 * rs6000-tdep.c (push_dummy_frame, pop_dummy_frame): replace
calls to {fetch|store}_inferior_registers with calls to
target_{fetch|store}_registers, for remote-target independence.
1992-09-19 12:08:23 +00:00
John Gilmore
f7fe7196c2 * configure.in: removed target_dependent line.
* remote-mm.c (mm_attach): change printf to error to prevent
fallthrough bug.
* remote-udi.c (udi_attach): change printf to error to prevent
fallthrough bug.
1992-09-19 11:55:20 +00:00
John Gilmore
45413b27d2 comment changes 1992-09-19 11:47:19 +00:00
John Gilmore
dd9da95a1a Left out ChangeLog, oops 1992-09-19 11:45:20 +00:00
John Gilmore
d40309c72a * Makefile.in, configure.in: add support for files used only when
configured native, that is, when host == target.
1992-09-19 11:09:01 +00:00
John Gilmore
a4afec9ade * tm-sparc.h, xm-sparc.h: externs and macros relating to deferred
stores are target dependent and were moved from xm to tm.
1992-09-19 10:56:01 +00:00
John Gilmore
8c0950668f * Makefile.in (gdb-all.texi): Build in objdir, not $srcdir. 1992-09-19 10:47:09 +00:00
John Gilmore
2e384b3b50 * config/decstation.mh: Add MMALLOC_LIB and MMALLOC_DISABLE
overrides, to avoid problem in xdr_bytes with malloc(0) => 0.
1992-09-19 10:21:04 +00:00
John Gilmore
dcc8abceed * target.h (struct target_ops): removed to_convert_to_virtual and
to_convert_from_virtual elements.  Initializations removed from
all static initializations.
(target_convert_to_virtual, target_convert_from_virtual):
removed.
(host_convert_to_virtual, host_convert_from_virtual):  Removed
forward declarations.
* target.c (cleanup_target): removed default assignments for
to_convert_to_virtual and to_convert_from_virtual.
* inftarg.c (host_convert_to_virtual, host_convert_from_virtual):
removed.
* findvar.c (value_of_register, value_from_register):
target_convert_to_virtual inlined.
* infcmd.c (do_registers_info):  target_convert_to_virtual inlined.
* valops.c (value_assign):  target_convert_from_virtual inlined.
1992-09-18 09:53:47 +00:00
John Gilmore
c35475f9be * main.c (gdb_readline): Avoid printf_filtered, which sets char
position wrong if used for the prompt.
* utils.c (puts_filtered):  Comment:  NOT a puts() replacement!
1992-09-18 09:21:44 +00:00
John Gilmore
2886f8b253 Support for accessing arbitrary MIPS stack frames in memory.
* blockframe.c (get_prev_frame_info):  If INIT_FRAME_PC_FIRST is
set, run it before INIT_EXTRA_FRAME_INFO.
* stack.c (frame_info):  If PRINT_EXTRA_FRAME_INFO defined, call it.

* mips-tdep.c (init_extra_frame_info): Only clobber the `frame'
(FP) value in the frame_info struct if it is zero (as from top of
execution stack).
(setup_arbitrary_frame):  Implement FRAME_SPECIFICATION_DYADIC.

* mips-xdep.c (fetch_inferior_registers):  ZERO_REGNUM always
comes back as zero.  So does FP_REGNUM, as a trigger for
init_extra_frame_info.

* tm-mips.h (INIT_FRAME_PC_FIRST):  Kludge, FIXME, defined to get
the program counter set before INIT_EXTRA_FRAME_INFO is run.
(INIT_FRAME_PC):  Defined to null.
(PRINT_EXTRA_FRAME_INFO): print frame pointer location via symtab.
(FRAME_SPECIFICATION_DYADIC):  Ask for two args in frame command.
Briefly explain MIPS stacks in GDB.
1992-09-18 09:20:15 +00:00
John Gilmore
6bb40269a0 * tm-rs6000.h (AIX_BUGGY_PTRACE_CALL): Zap, we think we fixed it.
Rich and I believe the "real problem" was that both single_step
and target_resume were issuing PT_CONTINUE calls.  This would
cause the second PT_CONTINUE to sometimes fail because the process
was already running.
* infptrace.c (child_resume):  Remove AIX_BUGGY_PTRACE_CALL kludge.
1992-09-18 08:09:25 +00:00
John Gilmore
997cc2c0a3 Preliminary cleanup for splitting host/native/target.
* infptrace.c (child_resume):  Don't deal with NO_SINGLE_STEP
here; it is dealt with at a gdb-target-independent level.
* rs6000-tdep.c (single_step):  Don't call ptrace, we are a
high toned routine.  Fix return type to void.
1992-09-18 07:40:15 +00:00
John Gilmore
22473f727a * Makefile.in (update-depend, update-alldeps): Split out of
setup-to-dist, for convenience in rebuilding the depend and
alldeps.mak files.
(assorted):  Update to catch straggler files when building gdb.tar.Z
1992-09-18 07:06:38 +00:00
John Gilmore
cb1d36fc73 * copying.awk, copying.c (show_copying_command,
show_warranty_command):  Rename from copying_info, warranty_info,
to match command function conventions.
1992-09-17 11:02:44 +00:00
John Gilmore
d974236f80 * utils.c (prompt_for_continue): Reinitialize more-counts
before printing anything, and again afterward.  Fix comments.
(vfprintf_filtered):  Eliminate static buffer; use auto buffer,
or alloca() if needed.

* rs6000-xdep.c:  Use correct conditional (IBM6000_TARGET) to
detect native versus cross-host.
1992-09-17 10:58:53 +00:00
Stu Grossman
f499253491 * m68k-tdep.c (sun3_saved_pc_after_call): Only do trap check for
Suns.  Rename to m68k_saved_pc_after_call.
* tm-68k-noun.h, tm-sun3.h (SAVED_PC_AFTER_CALL):  Use
m68k_saved... instead of sun3_saved...
1992-09-17 05:01:51 +00:00
Stu Grossman
0055617716 * energize.c (pty_to_kernel): Must check for EAGAIN as
termination condition.
(full_filename):  Don't prepend dirname if filename begins with /.
(breakpoint_notify, kernel_dispatch):  Deal with DynamicLoad
messages properly!!
(getpty (NCR)):  Lotsa bug fixes...
(kernel_dispatch (case StopRType)):  Use kill() instead of
killpg() so we can deal with losing systems...
(wait_for_events):  Work around NCR select() lossage.  It doesn't
zero out readfds when select() returns zero.
(energize_initialize):  Use I_SETSIG to get SIGIO interrupts.  Use
getcwd() instead of getwd() (NCR getwd() seg faults).
(energize_wait):  Use sigaction() for NCR.  Their version of signal()
is unreliable by default.
1992-09-15 07:12:52 +00:00
Stu Grossman
34da36088e * procfs.c (proc_wait): Call print_sys_errmsg() if we get an
error from PIOCSWSTOP.
1992-09-15 06:42:19 +00:00
Stu Grossman
a8e033f2a2 * breakpoint.c, core.c, exec.c, language.c, main.c, printcmd.c,
symfile.c, target.c, valprint.c:  Use _filtered form of *printf.
defs.h, utils.c:  Make vfprintf_filtered global.
1992-09-15 06:27:18 +00:00
Stu Grossman
b36e3a9b49 Oops! Retract last change. Didn't mean to pollute things with energize just
yet!
1992-09-15 05:11:52 +00:00
Stu Grossman
3e3b0eb9d9 * utils.c (query): Remove test for energize from top. Now
handled in input_from_terminal_p().
1992-09-15 05:04:08 +00:00