Commit graph

129 commits

Author SHA1 Message Date
Michael Snyder
aaeb7efa68 2001-01-16 Michael Snyder <msnyder@cleaver.cygnus.com>
* procfs.c (procfs_stopped_by_watchpoint): Don't die if	process
        goes away -- just return false.
2001-01-16 17:41:51 +00:00
Kevin Buettner
b8c9b27d1e Replace free() with xfree(). 2000-12-15 01:01:51 +00:00
Kevin Buettner
d0849a9a5a Protoization. 2000-09-30 02:39:10 +00:00
Kevin Buettner
fba45db2fa Protoization. 2000-07-30 01:48:28 +00:00
Kevin Buettner
8ab8638139 Eliminate use of PARAMS. 2000-06-12 01:33:49 +00:00
Andrew Cagney
ac2e2ef7e2 Add host_pointer_to_address() and address_to_host_pointer(). Add
signed_pointer_to_address() etc.  Rename generic_pointer_to_address()
to unsigned_pointer_to_address() etc.
2000-06-04 13:46:37 +00:00
Kevin Buettner
507f3c78fb Eliminate PARAMS from function pointer declarations. 2000-06-04 00:41:10 +00:00
Kevin Buettner
a14ed312fd PARAMS removal. 2000-05-28 01:12:42 +00:00
Michael Snyder
c60c0f5f88 2000-05-26 Michael Snyder <msnyder@seadog.cygnus.com>
* gregset.h: New file.  Typedefs for gdb_gregset_t and
        gdb_fpregset_t, prototypes for supply_gregset and friends.
        * procfs.c: Include gregset.h.  Delete local prototypes for
        supply_gregset etc., and local typedef gdb_gregset_t etc.
        * sol-thread.c: Include gregset.h, delete local prototypes,
        add appropriate casts to gdb_gregset_t.
        * uw-thread.c, lin-thread.c, core-sol2.c, core-regset.c,
        sparc-tdep.c, ptx4-nat.c, ppc-linux-nat.c, mipsv4-nat.c,
        m88k-nat.c, m68klinux-nat.c, m68k-tdep.c, irix5-nat.c,
        irix4-nat.c, ia64-linux-nat.c, i386v4-nat.c, cxux-nat.c,
        arm-linux-nat.c, alpha-nat.c: Include gregset.h.
        * config/nm-linux.h: Define GDB_GREGSET_T, GDB_FPREGET_T.
        * config/sparc/tm-sun4sol2.h: Ditto.
2000-05-26 23:22:41 +00:00
Andrew Cagney
4b14d3e4e0 Replace <sys/dir.h> (and <dirent.h>) with "gdb_dirent.h". 2000-05-25 06:49:01 +00:00
Andrew Cagney
004527cbbb Purge procfs.c of make_cleanup_func. 2000-05-22 06:17:35 +00:00
Michael Snyder
6005439332 2000-05-08 Michael Snyder <msnyder@seadog.cygnus.com>
* gdbarch.sh: Add FP0_REGNUM to list of multi-arched register numbers.
        * gdbarch.c, gdbarch.h: Regenerate.
        * core-regset.c: Change FP0_REGNUM to a runtime test.
        * procfs.c: Ditto.
        * sun3-nat.c: Ditto.
        * sparc-tdep.c: Ditto.

        * i386mach-nat.c: Remove unnecessary ifdef for FP0_REGNUM.
        * ptx4-nat.c: Ditto.

        * sol-thread.c (sol_thread_create_inferior): only add the thread
        to the thread list if it is not already in there.
        (prototypes for thread_db func ptrs): pretty up formatting.
2000-05-10 17:38:16 +00:00
Andrew Cagney
327fce13c5 * procfs.c (PROCFS_TRACE): Delete definition.
* proc-utils.h (PROCFS_NOTE, PROC_PRETTYFPRINT_STATUS): Always define.
2000-05-07 23:09:45 +00:00
Michael Snyder
103b3ef54f 2000-05-05 Michael Snyder <msnyder@seadog.cygnus.com>
* procfs.c: Cleanup of procfs tracing.  Move defines and
        prototypes to proc-utils.h
        * proc-utils.h: Define tracing macros.  Declare trace functions.
        * proc-api.c: Make procfs tracing a runtime option.
        (prepare_to_trace): New function, abstracted out of several
        places.  Open a trace file if one is required.
        (ioctl_with_trace, write_with_trace, open_with_trace,
        close_with_trace, wait_with_trace, lseek_with_trace):
        Report errno if an error occurs in a system call.
        (write_with_trace): Make 2nd arg void *, to agree with write.
2000-05-05 20:56:10 +00:00
Michael Snyder
6c1a54b22b 2000-05-05 Michael Snyder <msnyder@seadog.cygnus.com>
* procfs.c (many functions): change int cmd; to long cmd;
        Solaris /proc API calls this parameter a long, and requires it
        for 64-bit hosts (where sizeof(long) != sizeof(int)).  UnixWare
        calls it an int, but on existing UnixWare hosts, int and long
        are the same size.  So long it must be.  If a future UnixWare
        version has problems with this, we'll have to use autoconf.
        * proc-api.c (write_with_trace): use long instead of int.
2000-05-05 18:29:33 +00:00
Andrew Cagney
0386318224 Multi-arch NPC_REGNUM NNPC_REGNUM. 2000-05-02 09:36:57 +00:00
Michael Snyder
02d5252fb1 2000-04-26 Michael Snyder <msnyder@seadog.cygnus.com>
* procfs.c (comments): Eliminate "???" in comments, which GCC
	wants to interpret as a trigraph.  (fill_gregset, supply_gregset,
	fill_fpregset, supply_fpregset): declare.
	(procfs_wait): Sysargs is a long, change printf format to match.
	(test-mapping, mapping_test, test_mapping_cmd) Remove (test only).
2000-04-27 01:04:52 +00:00
Andrew Cagney
d311cd50fc From 2000-03-27 Peter Schauer <pes@regent.e-technik.tu-muenchen.de>:
* procfs.c (init_procfs_ops):  Set procfs_ops.to_has_memory and
procfs_ops.to_has_all_memory to 1.
2000-04-07 04:33:21 +00:00
Michael Snyder
03905a3cee 2000-03-28 Peter Schauer <pes@regent.e-technik.tu-muenchen.de>
* procfs.c (proc_set_watchpoint):  Declare addr parameter as
        CORE_ADDR, to match call from procfs_set_watchpoint.
2000-03-28 19:02:47 +00:00
Andrew Cagney
05e28a7bbf From Peter Schauer: Fix Solaris/x86 threads by copying linux code. 2000-02-29 13:53:59 +00:00
Andrew Cagney
eeefac92e7 From Rodney Brown: Define MERGEPID when needed. 2000-02-16 08:02:57 +00:00
Jason Molenda
0fda6bd286 import gdb-2000-01-24 snapshot 2000-01-25 02:40:50 +00:00
Jason Molenda
0d06e24ba7 import gdb-2000-01-10 snapshot 2000-01-11 03:07:37 +00:00
Jason Molenda
c3f6f71df3 import gdb-2000-01-05 snapshot 2000-01-06 03:07:20 +00:00
Jason Molenda
ed9a39ebf9 import gdb-1999-12-21 snapshot 1999-12-22 21:45:38 +00:00
Jason Molenda
11cf874164 import gdb-1999-11-08 snapshot 1999-11-09 01:23:30 +00:00
Jason Molenda
2acceee218 import gdb-1999-10-04 snapshot 1999-10-05 23:13:56 +00:00
Jason Molenda
6426a772a2 import gdb-1999-09-28 snapshot 1999-09-28 21:55:21 +00:00
Jason Molenda
104c1213b4 import gdb-1999-08-30 snapshot 1999-08-31 01:14:27 +00:00
Jason Molenda
c5aa993b1f import gdb-1999-07-07 post reformat 1999-07-07 20:19:36 +00:00
Stan Shebs
b83266a0e1 import gdb-19990504 snapshot 1999-05-05 14:45:51 +00:00
Stan Shebs
7a292a7adf import gdb-19990422 snapshot 1999-04-26 18:34:20 +00:00
Stan Shebs
c906108c21 Initial creation of sourceware repository 1999-04-16 01:35:26 +00:00
Stan Shebs
071ea11e85 Initial creation of sourceware repository 1999-04-16 01:34:07 +00:00
Mark Alexander
e5c9fdd2b6 Fix for PR 17980:
* procfs.c (wait_fd): Handle deleted threads correctly.
1999-01-29 02:19:27 +00:00
Stan Shebs
51aa361ef8 * procfs.c (init_procfs_ops): New function, fills in procfs_ops,
init only nonzero fields, leave to_require_attach and
	to_require_detach empty, not needed for /proc systems yet.
	(_initialize_procfs): Call init_procfs_ops.
1999-01-22 02:30:37 +00:00
David Taylor
63f8d5f5b3 change initialization of procfs_ops from compile time to run time. 1999-01-18 20:22:43 +00:00
Michael Snyder
3ab2abae9a Wed Jan 13 14:59:02 1999 Michael Snyder <msnyder@cleaver.cygnus.com>
* infrun.c (set/show scheduler-locking) New command.  Set a
          mode bit that will control how GDB attempts to control thread
          scheduling for step, continue, etc.  (resume): make use of
          the schedule-locking mode.
        * target.h (struct target_ops): new field to_has_thread_control.
        * sol-thread.c: initialize target_ops to_has_thread_control.
        * procfs.c: ditto.
        * target.c: ditto.
        * m3-nat.c: ditto.
        * remote.c: ditto.
        * hpux-thread.c: ditto.
1999-01-13 23:53:30 +00:00
David Taylor
65b07ddca8 all remaining *.c *.h files from hp merge. 1998-12-31 21:58:30 +00:00
David Taylor
4ef1f46773 hp merge changes -- too numerous to mention here; see ChangeLog and
ChangeLog-gdbtk for details.
1998-12-28 23:06:13 +00:00
Felix Lee
15af627cc0 * procfs.c (procfs_wait): handle syscall events first.
* procfs.c (GDB_GREGSET_TYPE, GDB_FPREGSET_TYPE): new macros.
        * config/sparc/xm-sun4sol2.h: use them.
        * core-sol2.c: don't #undef gregset_t and fpregset_t.
        * sol-thread.c: ditto.
        * sparc-tdep.c: ditto.
1998-11-24 14:51:13 +00:00
Michael Snyder
1ba38e79f8 Wed Nov 11 15:47:00 1998 Michael Snyder <msnyder@cleaver.cygnus.com>
* procfs.c (proc_set_exec_trap): don't set PR_ASYNC or PR_FORK
        in the child process for UnixWare (causes processes forked by
        the debuggee to hang).
1998-11-18 00:22:45 +00:00
Jason Molenda
1e50f1b441 Mon Apr 20 14:18:45 1998 J. Kean Johnston <jkj@sco.com>
* procfs.c: Added replacement macros for LWP stuff.  Fixed support
        for UnixWare / SVR4.2MP targets and any targets which use
        multi-file /proc entries.  Fixed support for hardware watchpoints.
        * solib.c: SCO needs some of the same code as SunOS. Change
        preprocessor conditionals.

        * config/i386/i386sco5.mt: New file.
        * config/i386/tm-i386sco5.h: New file.
        * config/i386/i386sco5.mh (NATDEPFILES): add i386v-nat.o.
        * config/i386/nm-i386v42mp.h
        (TARGET_HAS_HARDWARE_WATCHPOINTS): define.
        Add other macros for hardware assisted watchpoints.
        * config/i386/nm-i386sco5.h: Correct attributions.
        (TARGET_HAS_HARDWARE_WATCHPOINTS): define.
        * config/i386/nm-linux.h (target_remote_watchpoint): Pass
        'type' through to i386_insert_watchpoint.

Mon Apr 20 14:12:30 1998 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)

        * infrun.c (wait_for_inferior): Don't add signalled processes
        as new threads.
        * procfs.c (wait_fd): Note if LWP has exited.
        (procfs_wait): use GETPID to get process ID.


NOTE:  I didn't commit Kean's changes to configure.host/configure.tgt
yet because they are kind of bogus and I'm punting back to him to let
him figure out what he's trying to do.  So configuring for UnixWare
may not work just yet.
1998-04-20 21:25:40 +00:00
Jason Molenda
f0fce3b80b Fri Apr 10 22:36:28 1998 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
Update support for x86 Solaris 2.
        * config/i386/tm-i386sol2.h, nm-i386sol2.h:  New configuration
        files for x86 Solaris 2.
        * config/i386/i386sol2.mt, i386sol2.mh:  Use them.
        * config/sparc/tm-sun4sol2.h (PROCFS_GET_CARRY):  New macro, extract
        carry flag from a given regset.
        (IS_STATIC_TRANSFORM_NAME):  New macro, check if a symbol name
        is a SunPro transformed name.
        * i386-tdep.c (sunpro_static_transform_name):  New function to
        extract the source name from a SunPro transformed name.
        * inferior.h (procfs_first_available, procfs_get_pid_fd):
        Add prototypes.
        * infrun.c (wait_for_inferior):  Handle breakpoint hit in
        signal handler without intervening stop in sigtramp.
        * procfs.c (procfs_lwp_creation_handler):  Use PROCFS_GET_CARRY
        instead of direct access to the status register.
        (procfs_get_pid_fd):  New function, returns procfs fd for a given pid.
        * sol-thread.c (ps_lgetLDT):  New function, returns LDT for a given
        lwpid.
        (sol_find_new_threads):  Handle failed libthread_db initialization
        gracefully.
        * stabsread.c (define_symbol):  Use IS_STATIC_TRANSFORM_NAME
        to check for a SunPro transformed symbol name.
1998-04-11 05:43:33 +00:00
Michael Snyder
f14465c3a7 Mon Jul 14 18:02:53 1997 Michael Snyder (msnyder@cleaver.cygnus.com)
* procfs.c (wait_fd): Handle an fd that has "hung up" or
        otherwise terminated (Solaris threads).
1997-07-15 01:05:10 +00:00
Peter Schauer
b682323727 * procfs.c (proc_set_exec_trap, procfs_init_inferior, procfs_wait,
unconditionally_kill_inferior):  Undo Oct 26 1996 and Apr 26 1997
	changes to trace PRFS_STOPTERM and handle PR_DEAD.
	These changes tried to work around a problem with an early DU 4.0
	release, but they trigger subtle timing dependent kernel bugs
	in older OSF/1 releases.
1997-06-17 20:33:18 +00:00
Michael Snyder
3780c33708 Wed May 21 16:03:25 1997 Michael Snyder <msnyder@cleaver.cygnus.com>
* procfs.c (init_procinfo): new function, abstracts some code
        shared by create_procinfo and do_attach;
        (procfs_set_inferior_syscall_traps): new function, abstracts
        some code needed by procfs_init_inferior, do_attach, and
        procfs_lwp_creation_handler; (procfs_first_available): new
        function, find any LWP that's runnable; (procfs_thread_alive):
        replace stub function with real implementation;
        (procfs_lwp_creation_handler): fix bug starting new child
        threads; (info_proc): bug fixes and enhancements for the
        "INFO PROCESSES" command; (close_procinfo_file): call new
        function "delete_thread" to cleanup GDB's thread database;
        (proc_init_failed): add new argument "kill", to control whether
        process is killed (so this function can be shared by
        create_procinfo and do_attach); (procfs_exit_handler): handle
        exit from an attached process, and cleanup procinfo handles
        when the process exits; (procfs_resume, procfs_wait): cleanup
        after a thread when it exits; (do_attach, do_detach): handle
        attached processes with multiple threads; plus some general
        improvements in the diagnostic output.
        * sol-thread.c (sol_thread_alive): replace stub with real
        implementation; (thread_to_lwp, lwp_to_thread): enhance to
        handle threads that may have exited; (sol_thread_attach): add
        startup setup stuff; (sol_thread_detach): add unpush_target
        call; (sol_thread_mourn_inferior): add unpush_target call;
        (sol_thread_wait, sol_thread_resume): enhance to deal with
        thread exit cleanly; (sol_thread_new_objfile,
        sol_thread_pid_to_str): detect unsuccessful startup and
        don't crash; plus some general cleanup.
        * thread.c (delete_thread): new function, allows targets to
        notify gdb when a thread is no longer valid.
        * infrun.c (wait_for_inferior): don't try to detect a new
        thread on receiving a TARGET_EXITED event.
1997-05-21 23:33:33 +00:00
Peter Schauer
95b7107182 * corelow.c (get_core_registers): Initialize cf.
* procfs.c:  Minor changes to make pre-ANSI compilers happy.
	(procfs_notice_signals):  Copy traced signal set back to
	pi->prrun.pr_trace.
	(unconditionally_kill_inferior):  If PR_DEAD is defined,
	rerun inferior after killing it.
1997-04-26 09:44:30 +00:00
Geoffrey Noer
234c409626 Mon Apr 14 15:54:51 1997 Geoffrey Noer <noer@pizza.cygnus.com>
* procfs.c (notice_signals): fix typo
1997-04-14 23:06:49 +00:00
Geoffrey Noer
234a732de0 Thu Apr 10 13:20:53 1997 Geoffrey Noer <noer@cygnus.com>
* procfs.c: Substantial (but incomplete) changes to support
        sysv4.2mp procfs as implemented in UnixWare 2.1.  The procinfo
        struct now has substructs like struct flt_ctl instead of
        just a fltset_t and has a ctl_fd, status_fd, as_fd, and
        map_fd instead of a single fd.  Non-sysv4.2mp procfs models
        still have the structs and multiple fds, but don't use the
        entire struct and the four fds all point to the same thing.
        We use PROCFS_USE_READ_WRITE to decide whether to talk to
        procfs with reads/writes or use ioctl instead.  We use
        HAVE_MULTIPLE_PROC_FDS to determine whether procfs really has
        multiple fds or not.  PROC_NAME_FMT is split out into
        CTL_PROC_NAME_FMT, AS_PROC_NAME_FMT, MAP_PROC_NAME_FMT,
        STATUS_PROC_NAME_FMT.

        (procfs_notice_signals): now a necessary wrapper around
        (notice_signals): which are the new guts for noticing signals
        (open_proc_file): gets a new flag arg used in sysv4.2mp to
        determine whether or not to attempt to open the ctl_fd.
        (procfs_read_status): new local function, reads procfs status
        (procfs_write_pcwstop): new local function, writes a PCWSTOP
        (procfs_write_pckill): new local function, writes a PCKILL
        (unconditionally_kill_inferior): remove signo since we now
        just call procfs_write_pckill().
        (procfs_xfer_memory): call lseek with SEEK_SET rather than 0
        (proc_iterate_over_mappings): the whole function is ifdefed
        on UNIXWARE to keep things readable.

        Expanded the syscall_table to include new potential sysv4.2mp
        members.  Note that all ifdefs of UNIXWARE should be eliminated
        if possible or renamed to describe what's being selected for a
        bit better.  Sysv4.2mp and IRIX both have SYS_sproc so the
        IRIX specific code now also checks it's not UNIXWARE.

        * config/i386/tm-i386v42mp.h: also define HAVE_PSTATUS_T,
        HAVE_NO_PRRUN_T, PROCFS_USE_READ_WRITE, and UNIXWARE
        * config/mips/nm-irix4.h: set CTL_PROC_NAME_FMT et al to
        "/debug/%d" as PROC_NAME_FMT used to be
1997-04-10 20:24:42 +00:00