* am29k-tdep.c (_initialize_29k): Make it possible for the
user to set and query the address where function calls into the
inferior write a small scratch routine. `set call_scratch_address'
* inferior.h (PC_IN_CALL_DUMMY): Fix fencepost error.
* remote.c (remote_prepare_to_store): Only fetch regs if they are
not already cached validly.
* infptrace.c: remove #ifdef USG from around include ptrace.h.
machines without this header should not be compiling this file.
* nm-rs6000.h, rs6000-nat.c: new files for native support.
* rs6000-tdep.c: do not include sys/ptrace.h or sys/reg.h.
* rs6000-xdep.c: removed. all code now in rs6000-nat.c.
* xm-rs6000.h: do not include ptrace.h.
(ATTACH_DETACH, FETCH_INFERIOR_REGISTERS): moved to nm-rs6000.h.
* config/rs6000.mh (XDEPFILES): removed rs6000-xdep.o.
infptrace.o and inftarg.o move to NATDEPFIES.
(NAT_FILE, NATDEPFILES): new macro for 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.
* dwarfread.c (dwarf_build_psymtabs): Rename dbsize parameter to
dbfsize and use it to initialize new local file scope dbsize.
* dwarfread.c (read_ofile_symtab): Initialize dbsize and use it.
* dwarfread.c (basicdieinfo): Use dbsize to check for oversize
DIEs as well as the current check for undersize DIEs. This helps
to gracefully detect and reject corrupted DIE information.
* 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.
* 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.
* 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.
* 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.
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.
* 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.
* 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.
* regex.c: Always rename bcopy to memcpy, etc.
FIXME: Eventually do the renames rather than use #define's.
* sparc-tdep.c (deferred_stores): Moved from sparc-xdep.c.
Fix bcopy->memcpy.
* sparc-xdep.c: Move deferred_stores to target dependent.
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.
* 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.
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.
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().
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.
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.