aboutsummaryrefslogtreecommitdiff
path: root/gdb/procfs.c
AgeCommit message (Collapse)AuthorFilesLines
1993-11-01Change the stream argument to _filtered to GDB_FILE *.Thomas Lord1-20/+20
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-10-27 * fork-child.c (fork_inferior): Set inferior_pid before callingJim Kingdon1-0/+3
init_trace_fun. Move the code which gets us through the shell to new function startup_inferior. * inferior.h: Declare startup_inferior. * procfs.c (procfs_init_inferior), inftarg.c (ptrace_him): Call startup_inferior. * m3-nat.c (m3_trace_him): Call intercept_exec_calls. * config/nm-m3.h: Don't define STARTUP_INFERIOR. * config/i386/tm-i386m3.h, config/ns32k/tm-ns32k.h, config/mips/tm-mipsm3.h: Don't define START_INFERIOR_TRAPS_EXPECTED.
1993-10-22 * Makefile.in (init.c): Generate using the source, not munch. ThisJim Kingdon1-17/+0
cleans up all kinds of hassles (which nm to use in munch, etc). The new formatting conventions (mostly already followed) are that the name of the _initialize_* routines must start in column zero, and must not be inside #if. * munch: Removed. * Makefile.in: Remove references to munch. * serial.c, remote.c, infptrace.c, maint.c, convex-tdep.c, alpha-tdep.c, hp300ux-nat.c, hppab-nat.c, osfsolib.c, remote-es.c, procfs.c, remote-udi.c, ser-go32.c, ultra3-xdep.c, sh-tdep.c, i960-tdep.c, hppa-tdep.c, h8500-tdep.c, dpx2-nat.c, delta68-nat.c, z8k-tdep.c: Make sure the above conventions are followed. Make sure they are all declared as returning void. Clean up miscellaneous comments and such.
1993-10-17* procfs.c: Handle process exits more elegantly by trapping onStu Grossman1-6/+30
entry to _exit. Also, cleanup procinfo list when process dies of it's own accord (as opposed to being killed).
1993-10-17* procfs.c (procfs_wait): Losing Unixware can't do poll on /procStu Grossman1-51/+75
files. Use PIOCWSTOP instead. * corelow.c (add_to_thread_list): Fix arg to match prototype.
1993-10-16* procfs.c (procfs_set_sproc_trap): Don't use this if sprocStu Grossman1-6/+9
isn't available. * (procfs_notice_signals): Fix prototype.
1993-10-16* breakpoint.c (breakpoint_thread_match break_command_1):Stu Grossman1-256/+644
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-08-02Sun Aug 1 22:58:18 1993 Stu Grossman (grossman at cygnus.com)Stu Grossman1-14/+16
* 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-06-22 * procfs.c (procfs_resume): Don't pass a SIGTSTP whose actionJim Kingdon1-37/+51
is SIG_DFL. * procfs.c (procfs_resume): Skip the unnecessary PRSVADDR on all systems, not just Solaris.
1993-05-25 * Many places: replace "the inferior" in messages with "the program"Jim Kingdon1-1/+2
or "the program being debugged". * inflow.c (try_writing_regs): Remove; it's been #if 0'd forever and I'm getting sick of maintaining it.
1993-04-20 * irix4-nat.c (fetch_core_registers): Special version of this forStu Grossman1-60/+0
Irix 4.x, which stores regs a bit differently from other /proc based systems. * procfs.c, core-svr4.c: Move fetch_core_registers from procfs.c to new file core-svr4.c. * config/i386/i386sol2.mh, config/i386/i386v4.mh, config/m68k/amix.mh, config/i386/ncr3000.mh, config/sparc/sun4sol2.mh: Add core-svr4.o to NATDEPFILES. * config/mips/irix4.mh: Add corelow.o to NATDEPFILES.
1992-11-05* inflow.c (pass_signal, set_sigint_trap, clear_sigint_trap): AddStu Grossman1-0/+7
new routines to deal with sending SIGINTs to attached processes when the user interrupts the controlling GDB. * inftarg.c (child_wait), procfs.c (procfs_wait): Add calls to the aforementioned routines when waiting for the attached process.
1992-10-28include nm.h in defs.hK. Richard Pixley1-2/+0
1992-10-09Mips native support. Decstation and iris4 have been tested.K. Richard Pixley1-0/+2
Iris3 has not. * mips-tdep.c (supply_gregset, fill_gregset, supply_fpregset, fill_fpregset): removed to irix4-nat.c * mips-xdep.c: removed. * irix4-nat.c, mips-nat.c, nm-irix3.h, nm-irix4.h, nm-mips.h: new files. * procfs.c: include nm.h. * xm-irix3.h (U_REGS_OFFSET, FETCH_INFERIOR_REGISTERS): removed. * xm-irix4.h: bump copyright. (U_REGS_OFFSET, FETCH_INFERIOR_REGISTERS, USE_PROC_FS, PROC_NAME_FMT): removed. * xm-mips.h (FETCH_INFERIOR_REGISTERS): removed. * config/irix4.mh (XDEPFILES): removed procfs.o fork-child.o. (NAT_FILE, NATDEPFILES): new macros for native support. (CC): supply default compiler switches. * config/irix3.mh (XDEPFILES): removed infptrace.o inftarg.o fork-child.o coredep.o. (NAT_FILE, NATDEPFILES): new macros for native support. Note that irix3 is untested. * config/decstation.mh (XDEPFILES): removed infptrace.o inftarg.o fork-child.o mips-xdep.o coredep.o. (NAT_FILE, NATDEPFILES): new macros for native support.
1992-10-06NOTICE_SIGNAL_HANDLING_CHANGE macro added to the target vector asK. Richard Pixley1-6/+10
to_notice_signals. * inferior.h (proc_signal_handling_change): prototype removed. * infrun.c (NOTICE_SIGNAL_HANDLING_CHANGE): default removed. (handle_command): now calls target_notice_signals. * procfs.c (proc_signal_handling_change): renamed to procfs_notice_signals. Now static. Add prototype. All callers changed. * target.h (struct target_ops): new field, to_notice_signals. (target_notice_signals): new macro to cover new field. * target.c (cleanup_target): default to_notice_signals to ignore. * corelow.c (core_ops), exec.c (exec_ops), inftarg.c (child_ops), procfs.c (procfs_ops), remote-adapt.c (adapt-ops), remote-eb.c (eb_ops), remote-es1800.c (es1800_ops, es1800_child_ops), remote-hms.c (hms_ops), remote-mm.c (mm_ops), remote-nindy.c (nindy_ops), remote-st2000.c (st2000_ops), remote-udi.c (udi_ops), remote-vx.c (vx_ops, vx_run_ops), remote.c (remote_ops), target.c (dummy_target), xcoffexec.c (exec_ops): added static initializer for to_notice_signals. * xm-irix4.h, xm-sysv4.h (NOTICE_SIGNAL_HANDLING_CHANGE): removed.
1992-09-26Make the /proc support a target-struct in its own right.John Gilmore1-68/+261
* 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-22Remove kill_inferior_fast, in favor of target_kill, which goesJohn Gilmore1-33/+0
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-15* procfs.c (proc_wait): Call print_sys_errmsg() if we get anStu Grossman1-0/+1
error from PIOCSWSTOP.
1992-07-05* buildsym.c (finish_block): Fix thinko `inner block' complaints.John Gilmore1-21/+78
* dbxread.c (process_one_symbol): Parse N_OPT "gcc2_compiled.". * procfs.c (proc_set_exec_trap): Set run-on-last-close flag on child processes, to avoid dead ones "hanging around" after GDB exits. (attach): Always stop the process if it needs it. Set RLC flag when attaching running processes, so it will continue if we detach it, quit, or are killed. (detach): Clear faults and set RLC flag to make process run when we close it. (open_proc_file): New `mode' argument for O_RDONLY or O_RDWR. Callers changed. (info_proc): Open process O_RDONLY, so we can see any process, even those controlled by debuggers. * tm-sun4sol2.h (SUN_FIXED_LBRAC_BUG): They did (in Sol 2).
1992-07-04 * breakpoint.c, buildsym.c, c-exp.y, coffread.c, command.c,Fred Fish1-28/+26
core.c, cplus-dem.c, dbxread.c, dwarfread.c, elfread.c, environ.c, eval.c, findvar.c, gdbtypes.c, hppabsd-tdep.c, hppahpux-tdep.c, i386-tdep.c, ieee-float.c, infcmd.c, inflow.c, infptrace.c, infrun.c, m2-exp.y, mipsread.c, objfiles.c, parse.c, procfs.c, putenv.c, remote-mm.c, remote-vx.c, solib.c, sparc-tdep.c, sparc-xdep.c, stack.c, symfile.c, symtab.c, symtab.h, target.c, tm-i386v.h, tm-sparc.h, utils.c, valarith.c, valops.c, valprint.c, values.c, xcoffread.c: Remove "(void)" casts from function calls where the return value is ignored, in accordance with GNU coding standards.
1992-06-29 * dbxread.c, i386-pinsn.c, i386-tdep.c, regex.c, solib.c, symmisc.c,Fred Fish1-4/+2
symtab.h, tm-i386v4.h, valprint.c, values.c: Lint. * breakpoint.c, c-exp.y, coffread.c, command.c, environ.c, eval.c, findvar.c, infcmd.c, infptrace.c, infrun.c, m2-exp.y, parse.c, putenv.c, solib.c, sparc-xdep.c, symtab.c, tm-i386v.h, tm-sparc.h, utils.c, valarith.c, valops.c, valprint.c, values.c: Replace bcopy() use with memcpy(), which is more standard and can take advantage of gcc's builtin functions for increased performance. * breakpoint.c, buildsym.c, coffread.c, dbxread.c, i386-tdep.c, ieee-float.c, infcmd.c, sparc-tdep.c, stack.c, symtab.c, symtab.h, target.c, values.c: Replace bzero() use with memset(), which is more standard and can take advantage of gcc's builtin functions for increased performance. * i386-tdep.c, main.c, valprint.c: Replace bcmp() use with memcmp(), which is more standard and can take advantage of gcc's builtin functions for increased performance.
1992-06-26Fixup PRSVADDR problem as per Johns suggestions.Stu Grossman1-1/+1
1992-06-25* procfs.c (child_resume): Work around Solaris (on Sparc) lossageStu Grossman1-1/+11
where there is no place for nPC in prrun struct.
1992-06-24 * Makefile.in (VERSION): Bump to 4.5.6.Fred Fish1-2/+2
* coffread.c (coff_end_symtab): Cast 2nd arg of complain() to correct type. * defs.h (NORETURN): Define away for Lucid compiler. * remote.c (remote_timer, remote_interrupt): Signal handlers take one int arg. * ser-termios.c (serial_write, serial_close): Return whatever value the write/close call returns, rather than falling off end. * inferior.h (PTRACE_ARG3_TYPE): Third arg to ptrace is int on more systems than it is "char *". Define PTRACE_ARG3_TYPE to default to int. * infptrace.c, hppabsd-xdep.c, hppahpux-xdep.c, i386-xdep.c, inferior.h (call_ptrace): Use PTRACE_ARG3_TYPE to declare type of third arg. * a68v-xdep.c, arm-xdep.c, convex-xdep.c, hp300ux-xdep.c, infrun.c, m88k-xdep.c, mach386-xdep.c, mips-xdep.c, os68k-xdep.c, pyr-tdep.c, pyr-xdep.c, rs6000-xdep.c, sparc-xdep.c, sun3-xdep.c, sun386-xdep.c, symm-xdep.c, ultra3-xdep.c: Use PTRACE_ARG3_TYPE to cast ptrace argument 3. * sparc-xdep.c, a68v-xdep.c (fetch_inferior_registers, store_inferior_registers): Supply missing fourth argument to ptrace().
1992-05-17 * inflow.c (new_tty): Temporarily ignore SIGTTOU whenFred Fish1-1/+1
disconnecting from controlling terminal, to avoid gdb hanging on SVR4. Fixes bug reported by Oliver Okrongli. * procfs.c (PROC_NAME_FMT): Change format to match default used by system, as suggested by Oliver Okrongli. * tm-68k.h (FRAME_FIND_SAVED_REGS): Apply missing parentheses bug fix from Brent Townshend (bst%tt@cam.ORG). * c-exp.y (nonempty_typelist): Fix memory overrun bug reported by turlais@rechser.total.fr. * dwarfread.c (decode_subscr_data): Fix bug in calculation of length of non-zero lowerbound arrays. Bug fix from Peggy Fieland. * objfiles.h (unlink_objfile): Add prototype. * objfiles.c (unlink_objfile): Add function. * objfiles.c (free_objfile): Call unlink_objfile. * objfiles.c (allocate_objfile): Call unlink_objfile on newly remapped objfiles. Bug reported by hahn@sunshine.labs.tek.com. Also, discard old possibly bogus sf struct. * symfile.c (symbol_file_add): Call init_entry_point_info() and find_sym_fns() for remapped symbol files, in case of any changes since the last mapping.
1992-04-22Remove now obsolete signame.c and signame.h; functionality is handled byFred Fish1-388/+33
libiberty/strsignal.c. Widespread changes to use libiberty/strerror.c functions for errno manipulations and libiberty/strsignal.c for signo (signals) manipulations.
1992-04-03Fix bug with gdb resending SIGSTOP to an attached process that was forciblyFred Fish1-1/+19
stopped during attach, thus stopping it again.
1992-04-02Fix bug in values.c unpacking signed characters on hosts where the defaultFred Fish1-14/+32
character type is unsigned. Add some cases to the tables in procfs.c for constants defined in newer SVR4 systems and reorder the tests for ioctl support of resetting the inherit-on-fork flag to favor the latest method using PIOCRESET.
1992-04-01Many changes to procfs.c, mostly to expand the "info proc" command and toFred Fish1-96/+1860
fix a couple of small bugs. Changes to other files mostly to fix minor things pointed out by the SGI compiler. See ChangeLog for complete details.
1992-04-01Changes in procfs.c to fix bug with inferior's siginfo struct gettingFred Fish1-17/+75
needlessly stomped. Changes in elfread.c and solib.c to fix DWARF processing, broken by other recent changes.
1992-03-31* procfs.c (open_proc_file): Disable inherit-on-fork flag so thatStu Grossman1-0/+4
commands in .cshrc/.profile won't get traced.
1992-03-05* config.sub configure.in config/.Sanitize config/mh-irix4Stu Grossman1-2/+31
gdb/.Sanitize gdb/configure.in gdb/mips-tdep.c gdb/mipsread.c gdb/procfs.c gdb/signame.h gdb/tm-irix3.h gdb/tm-mips.h gdb/xm-irix4.h gdb/config/.Sanitize gdb/config/mt-irix3 gdb/config/mh-irix4 texinfo/configure.in: Port to SGI Irix-4.x.
1992-03-03Tue Mar 3 15:11:52 1992 Michael Tiemann (tiemann@cygnus.com)Michael Tiemann1-3/+0
* All GDB files that #include defs.h: Removed stdio.h. (defs.h): #include stdio.h. This has been tested by building GDBs for all targets hosted on Sun4. None of the build problems were related to stdio.h inclusion. (n.b. many configurations don't build for other reasons.)
1992-02-22* Check in Fred Fish's changes in these modules. FredJohn Gilmore1-79/+107
will make ChangeLog entries for all of them.
1992-01-24Misc small fixes for problems uncovered by prototyping.Fred Fish1-6/+7
1991-12-28Many small changes to procfs.c to add base support for a new "info proc"Fred Fish1-41/+284
command that prints /proc specific information, changes to solib.c to allow more flexible handling of finding the dynamic linker structures, changes to utils.c and defs.h to add a new null_cleanup() function to serve as an anchor point for cleanup chains with no obvious "first cleanup".
1991-12-16Numerous small changes and a complete reorganization of solib.c, to supportFred Fish1-0/+87
SVR4 shared libraries in a manner very close to the original SunOS support. See the ChangeLog for details.
1991-11-21* defs.h: Incorporate param.h. All users changed.John Gilmore1-1/+0
* param-no-tm.h: Change users to define TM_FILE_OVERRIDE instead. * param.h, param-no-tm.h: Removed. * Update copyrights in all changed files. * dbxread.c, dwarfread.c, inflow.c, infrun.c, m2-exp.y, putenv.c, solib.c, symtab.h, tm-umax.h, valprint.c: Lint. * tm-convex.h, tm-hp300hpux.h, tm-merlin.h, tm-sparc.h, xm-merlin.h: Avoid host include files in target descriptions. * getpagesize.h: Removed, libiberty copes now.
1991-11-19More inclusion of defs.h to before param.h, ala other source files.Fred Fish1-1/+1
This is required to supply some typedefs used in files included via param.h.
1991-11-12Minor rewording of message containing name of program that generated aFred Fish1-1/+62
core file (core.c), permanently remove the register_addr() stub (elfread.c), move a misplaced #endif (procfs.c), and add fetch_core_registers func for core file support (procfs.c).
1991-10-24New files for DWARF debugging format support, ELF object file support, SVR4Fred Fish1-0/+988
/proc (process file system) support, Amiga UNIX target and host defines, SVR4 target and host defines, and m68k hosts defines.