Commit Graph

43 Commits

Author SHA1 Message Date
Kevin Buettner 507f3c78fb Eliminate PARAMS from function pointer declarations. 2000-06-04 00:41:10 +00:00
Michael Snyder d5cb3e0e0d 2000-06-01 Michael Snyder <msnyder@seadog.cygnus.com>
* sol-thread.c (rw_common): Circumstances (eg. a bug in Sun's
        thread_db library) may cause this function to be called with an
        illegal address, in which case procfs_to_xfer_memory will
        return zero.  Return an error code instead of looping forever.
2000-06-01 22:19:03 +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
Michael Snyder e245aa6b05 2000-05-08 Michael Snyder <msnyder@seadog.cygnus.com>
* 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-08 22:34:38 +00:00
Nicholas Duffek db348f2745 * sol-thread.c (init_sol_core_ops): Initialize to_thread_alive
and document to_find_new_threads bug.
2000-04-13 16:31:50 +00:00
Peter Schauer 291dcb3e0d * sol-thread.c (gdb_ps_addr_t): New typedef, depends on definition
of PROC_SERVICE_IS_OLD.
	(ps_pglobal_lookup, ps_pdread, ps_pdwrite, ps_ptread, ps_ptwrite,
	rw_common):  Change argument type from psaddr_t to gdb_ps_addr_t.
2000-04-07 17:18:57 +00:00
Nicholas Duffek 2f09097b73 * sol-thread.c (GET_LWP, GET_THREAD, BUILD_LWP, BUILD_THREAD):
Change to rely on PIDGET etc.
	* config/i386/nm-i386sol2.h (TARGET_HAS_WATCHPOINTS,
	TARGET_CAN_USE_HARDWARE_WATCHPOINT, HAVE_CONTINUABLE_WATCHPOINT,
	STOPPED_BY_WATCHPOINT, target_[insert/remove]_watchpoint):
	define.  Allow target to use procfs hardware watchpoints.
	* config/sparc/nm-sun4sol2.h: ditto.
	* config/i386/tm-i386sol2.h (PIDGET, TIDGET, MERGEPID): modify
	definitions to use 16 bits for the pid, 15 bits for the tid, and
	1 bit for the flag.
	* config/sparc/tm-sun4sol2.h: ditto.
	(SOFTWARE_SINGLE_STEP, SOFTWARE_SINGLE_STEP_P): undefine.
	* testsuite/gdb.threads/pthreads.exp (all_threads_running): Allow
	for more than 15 thread increments.
2000-04-07 01:14:10 +00:00
Michael Snyder 0f4db1a159 2000-03-23 Michael Snyder <msnyder@cleaver.cygnus.com>
* sol-thread.c (ps_pglobal_lookup): Change argument type from
        paddr_t to psaddr_t.  This mistake appears to date from an
        erroneous man page in Solaris 2.5 -- the correct type from the
        system headers has always been psaddr_t.
        (ps_pdread, ps_pdwrite, ps_ptread, ps_ptwrite): ditto.
        (rw_common): ditto.
2000-03-23 21:44:50 +00:00
Andrew Cagney 05e28a7bbf From Peter Schauer: Fix Solaris/x86 threads by copying linux code. 2000-02-29 13:53:59 +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 4ce44c668d import gdb-1999-11-16 snapshot 1999-11-17 02:31:06 +00:00
Jason Molenda 11cf874164 import gdb-1999-11-08 snapshot 1999-11-09 01:23:30 +00:00
Stan Shebs d4f3574e77 import gdb-1999-09-08 snapshot 1999-09-09 00:02:17 +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
Fernando Nasser ba4d67c2bf 1999-01-19 Fernando Nasser <fnasser@totem.to.cygnus.com>
* sol-thread.c abug-rom.c cpu32bug-rom.c dbug-rom.c m32r-rom.c
	mac-nat.c mon960-rom.c op50-rom.c ppc-bdm.c remote-adapt.c
	remote-array.c remote-bug.c remote-e7000.c remote-eb.c remote-es.c
	remote-est.c remote-hms.c remote-mm.c remote-nindy.c remote-nrom.c
	remote-os9k.c remote-rdp.c remote-sds.c remote-sim.c remote-st.c
	remote-udi.c rom68k-rom.c sh3-rom.c sparcl-tdep.c sparclet-rom.c
	v850ice.c win32-nat.c: cosmetic changes to conform to coding
	standards.
1999-01-19 20:45:31 +00:00
Fernando Nasser 49f47b0013 1999-01-18 Fernando Nasser <fnasser@totem.to.cygnus.com>
* sol-thread.c: delete compile time initialization of target_ops
          (_initialize_sol_thread): initialize target_ops at run time.
        * hpux-thread.c: added target_ops entry.
        * m3-nat.c: ditto.
1999-01-19 00:39:04 +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 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
Felix Lee 37f58dce03 * sol-thread.c (ps_pstop, etc): simple test for proc_service.h
version didn't work for sol2.6; pushed it to autoconf.
        * configure.in (gdb_cv_proc_service_is_old): new test.
        * acconfig.h (PROC_SERVICE_IS_OLD): new define.
        * configure, config.in: regenerate.
1998-10-14 01:15:01 +00:00
Felix Lee bbee94c77c * sol-thread.c (ps_pstop, etc): different solaris versions have
slightly different prototypes in proc_service.h; compensate.
1998-10-13 00:55:20 +00:00
Fernando Nasser 2d24a02138 Fri Oct 2 18:52:20 1998 Fernando Nasser <fnasser@cygnus.com>
* sol-thread.c: Fixed prototypes and calls to supply_fpregset and
        fill_fpregset
PR 17053
1998-10-02 22:57:12 +00:00
Peter Schauer d2fce7f74c * sol-thread.c (sol_thread_notice_signals): Use PIDGET when
passing pid down to procfs_notice_signals.
1998-09-18 14:57:16 +00:00
Peter Schauer cfd7cb2995 * sol-thread.c (lwp_to_thread): Fix error message for failing
td_ta_map_lwp2thr call.
	(ps_lgetLDT):  Mask off upper bits in GS register when comparing
	with selector.
1998-08-14 11:20:51 +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
Frank Ch. Eigler 7cdd6cac82 * Fixes for PR 14571.
Thu Apr  2 12:47:41 1998  Frank Ch. Eigler  <fche@cygnus.com>

	* sol-thread.c (sol_thread_store_registers): Save & restore new
 	value of single updated register to prevent accidental clobbering.
1998-04-02 18:54:04 +00:00
David Taylor 0274a484ce fixes for debugging threaded core files. Previously gdb would find the
kernel threads but would get errors on each of the user threads that wasn't
currently assigned to a kernel thread.  PR's gdb/13803 (and gdb/13618).
1997-12-03 19:30:06 +00:00
David Taylor 022278948f fix for PR 13618 -- gdb incorrectly reports thread information.
If other systems besides nm-sun4sol2 exhibit the problem, they may need
definitions of FIND_NEW_THREADS and a corresponding support function.
1997-10-24 21:04:39 +00:00
Michael Snyder 0f5b751aaf Wed Jul 16 10:38:03 1997 Michael Snyder (msnyder@cleaver.cygnus.com)
* sol-thread.c (sol_thread_[store, fetch]_registers): if
        inferior_pid is an LWP rather than a Solaris thread, let
        procfs handle the request.
        (rw_common, sol_thread_xfer_memory): procfs_xfer_memory will
        only work if inferior_pid points to an LWP (rather than a
        Solaris thread).  Use procfs_first_available to find a good LWP.
        (info_solthreads): added a maintenance command to list all
        known Solaris threads and their attributes.
1997-07-16 19:16:07 +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
Stu Grossman 4915acadd4 * Makefile.in (INTERNAL_LDFLAGS): Add in flags from configure.
* configure configure.in:  Only make sol-thread.o for native.
	Also, switch to dlopened libthread_db.so.1.
	* sol-thread.c:  Switch to using dlopen to get the thread_db
	library.
1996-06-11 19:21:42 +00:00
Stu Grossman 9b33e492d6 * procfs.c (procfs_thread_alive procfs_stop): Make static.
* (procfs_pid_to_str):  New routine to print out thread id's in an
	intelligible manner.
	* sol-thread.c (sol_thread_fetch_registers):  Re-order manner in
	which supply_register is called to fix bug with writing writing
	individual regs.
	* config/sparc/tm-sun4sol2.h:  Define default for
	target_pid_to_str in case host lacks libthread_db.
1996-05-15 01:09:57 +00:00
Stu Grossman a50cedad0e * sol-thread.c: More cleanup, add comments.
* (sol_thread_resume):  Prevent people from trying to step
	inactive threads.
	* (sol_thread_wait sol_thread_fetch_registers
	sol_thread_store_registers):  Remove unnecessary check for
	sol_thread_active.  These routines won't get called unless threads
	are active.
1996-05-13 23:22:32 +00:00
Stu Grossman 934741a174 * sol-thread.c: Cleanup. gcc -Wall fixes. Add prototypes.
Print out messages instead of codes for thread_db errors.  Make
	access macros for thread and lwp manipulation.  Make cleanups to
	fixup inferior_pid in case of errors.
1996-05-10 23:05:01 +00:00
Stu Grossman fdfa331511 * Makefile.in, breakpoint.c, corelow.c, fork-child.c, inflow.c,
infrun.c, mac-nat.c, procfs.c, remote.c, sol-thread.c, thread.c,
	win32-nat.c, config/nm-lynx.h:  Rename thread.h to gdbthread.h to
	avoid conflict with Solaris /usr/include/thread.h.
1996-05-09 21:24:20 +00:00
Stu Grossman 8fc2b4170d * fork-child.c (fork_inferior), inferior.h: init_trace_fun now
returns a possibly modified pid.
	* inftarg.c (ptrace_him):  Now returns pid;
	* m3-nat.c (m3_trace_him):  Now returns pid;
	* infcmd.c (run_command):  Minor cleanup.
	* infrun.c (wait_for_inferior):  Add another check for one_stepped
	near where we read the pc to avoid erroneously setting
	random_signal for multi-threaded support.
	* procfs.c:  Add support for Solaris LWPs.  Remove def of
	LOSING_POLL.  Many cleanups...  Several workarounds for Solaris
	lossage.  System call entry and exit are now handled by
	dynamically registered handlers.
	* (syscallname):  Don't barf when handed an unknown syscall
	number.
	* (info_proc_syscalls):  Ditto.
	* sol-thread.c:  New file.  Implements Solaris thread support.
	* symfile.c (symbol_file_add):  Add call to target_new_objfile to
	notify target-dependent code about new symbol tables.
	* (clear_symtab_users):  Call target_new_objfile to notify it of
	the removal of all symbol tables.
	* target.c (push_target):  Make sure that to_close is non-zero
	before calling it.
	* target.h (target_new_objfile):  Provide default.
	* config/alpha/nm-osf2.h:  Define LOSING_POLL because this version
	of OSF can't hack using poll with /proc.
	* config/sparc/nm-sun4sol2.h (target_new_objfile):  Define to be
	sol-thread-new-objfile.
	* config/sparc/sun4sol2.mh:  Add sol-thread.o to NATDEFFILES, and
	add libthread_db.so.1 to NAT_CLIBS.
	* config/sparc/tm-sun4sol2.h:  Define PIDGET, TIDGET, and
	target_pid_to_str.
1996-05-06 21:27:37 +00:00