Commit Graph

61 Commits

Author SHA1 Message Date
Michael Snyder be4d133316 2002-01-03 Michael Snyder <msnyder@redhat.com>
Implement a "generate-core-file" command in gdb, save target state.
	* gcore.c: New file.  Implement new command 'generate-core-file'.
	Save a corefile image of the current state of the inferior.
	* linux-proc.c: Add linux-specific code for saving corefiles.
	* target.h (struct target_ops): Add new target vectors for saving
	corefiles; to_find_memory_regions and to_make_corefile_notes.
	(target_find_memory_regions): New macro.
	(target_make_corefile_notes): New macro.
	* target.c (update_current_target): Inherit new target methods.
	(dummy_find_memory_regions): New place-holder method.
	(dummy_make_corefile_notes): New place-holder method.
	(init_dummy_target): Initialize new dummy target vectors.
	* exec.c (exec_set_find_memory_regions): New function.
	Allow the exec_ops vector for memory regions to be taken over.
	(exec_make_note_section): New function, target vector method.
	* defs.h (exec_set_find_memory_regions): Export prototype.
	* procfs.c (proc_find_memory_regions): New function, corefile method.
	(procfs_make_note_section): New function, corefile method.
	(init_procfs_ops): Set new target vector pointers.
	(find_memory_regions_callback): New function.
	(procfs_do_thread_registers): New function.
	(procfs_corefile_thread_callback): New function.
	* sol-thread.c (sol_find_memory_regions): New function.
	(sol_make_note_section): New function.
	(init_sol_thread_ops): Initialize new target vectors.
	* inftarg.c (inftarg_set_find_memory_regions): New function.
	Allow to_find_memory_regions vector to be taken over.
	(inftarg_set_make_corefile_notes): New function.
	Allow to_make_corefile_notes vector to be taken over.
	* thread-db.c (thread_db_new_objfile): Don't activate thread-db
	interface layer if not target_has_execution (may be a corefile).
	* config/i386/linux.mh: Add gcore.o to NATDEPFILES.
	* config/sparc/sun4sol2.mh: Ditto.
	* config/alpha/alpha-linux.mh: Ditto.
	* config/arm/linux.mh: Ditto.
	* config/i386/x86-64linux.mh: Ditto.
	* config/ia64/linux.mh: Ditto.
	* config/m68k/linux.mh: Ditto.
	* config/mips/linux.mh: Ditto.
	* config/powerpc/linux.mh: Ditto.
	* config/sparc/linux.mh: Ditto.
2002-01-09 00:37:02 +00:00
Fred Fish 990f9fe3aa Approved by kev@cygnus.com
ChangeLog entry:

	2001-11-01  Fred Fish  <fnf@redhat.com>

	* coff-solib.c (coff_solib_add): Add new readsyms arg.
	* irix5-nat.c (solib_add): Ditto.
	* osfsolib.c (solib_add): Ditto.
	* pa64solib.c (pa64_solib_add): Ditto.
	* pa64solib.c (add_to_solist): Ditto.
	* pa64solib.c (read_dld_descriptor): Ditto.
	* solib.c (solib_add): Ditto.
	* somsolib.c (som_solib_add): Ditto.
	* win32-nat.c (child_solib_add): Ditto.
	* xcoffsolib.c (solib_add): Ditto.

	* coff-solib.h (coff_solib_add): Add new readsyms arg to prototype.
	* pa64solib.c (add_to_solist): Ditto.
	* pa64solib.c (read_dld_descriptor): Ditto.
	* pa64solib.h (pa64_solib_add): Ditto.
	* solib.h (solib_add): Ditto.
	* somsolib.h (som_solib_add): Ditto.
	* config/i386/tm-cygwin.h (child_solib_add): Ditto.

	* coff-solib.c (coff_solib_add):  If readsyms is zero don't read
	symbols but do any other needed work for shared libs.
	* irix5-nat.c: Ditto.
	* osfsolib.c (solib_add): Ditto.
	* solib.c (solib_add): Ditto.
	* win32-nat.c (child_solib_add): Ditto.
	* xcoffsolib.c (solib_add): Ditto.

	* irix5-nat.c (sharedlibrary_command): Pass 1 as readsyms to
	solib_add to force reading of shared library symbols.
	* osfsolib.c (sharedlibrary_command;): Ditto.
	* pa64solib.c (pa64_solib_sharedlibrary_command): Ditto.
	* solib.c (sharedlibrary_command): Ditto.
	* somsolib.c (som_solib_sharedlibrary_command): Ditto.
	* xcoffsolib.c (sharedlibrary_command): Ditto.

	* coff-solib.c (coff_solib_create_inferior_hook): Call solib_add
	unconditionally with auto_solib_add.
	* irix5-nat.c (solib_create_inferior_hook): Ditto.
	* osfsolib.c (solib_create_inferior_hook): Ditto.
	* solib.c (solib_create_inferior_hook): Ditto.
	* solib-osf.c (osf_solib_create_inferior_hook): Ditto.
	* solib-svr4.c (enable_break): Ditto.
	* solib-sunos.c (sunos_solib_create_inferior_hook): Ditto.

	* corelow.c (solib_add_stub): Add auto_solib_add to args passed
	via SOLIB_ADD.
	* sol-thread.c (sol_thread_attach): Ditto.
	* config/rs6000/nm-rs6000.h (SOLIB_ADD): Ditto.

	* infcmd.c (attach_command): Remove auto_solib_add decl.
	Call SOLIB_ADD directly with auto_solib_add.
	* infrun.c (handle_inferior_event): Ditto.

	* coff-solib.h (SOLIB_ADD): Add readsyms arg.
	* pa64solib.h (SOLIB_ADD): Ditto.
	* solib.h (SOLIB_ADD): Ditto.
	* somsolib.h (SOLIB_ADD): Ditto.
	* config/i386/tm-cygwin.h (SOLIB_ADD): Ditto.

	* fork-child.c (clone_and_follow_inferior): Remove unused
	auto_solib_add decl.

	* pa64solib.c (pa64_solib_add): Call add_to_solist with readsyms.
	(read_dld_descriptor): Ditto.
	(pa64_solib_add): Call read_dld_descriptor with	readsyms.
	(pa64_solib_in_dynamic_linker): Ditto.

	* corelow.c (symfile.h): Need this for auto_solib_add declaration.
	* sol-thread.c (symfile.h): Ditto.

Approved by eliz@is.elta.co.il
doc/ChangeLog entry:

	2001-11-01  Fred Fish  <fnf@redhat.com>

	* gdbint.texinfo (SOLIB_ADD): Document additional new
	"readsyms" arg.
2001-11-01 16:17:08 +00:00
Kevin Buettner ca6724c16a Redefine ptid_t to be a struct rather than an int. 2001-05-15 00:03:38 +00:00
Kevin Buettner ce696e0556 Consolidate save_inferior_ptid/restore_inferior_ptid implementation to
one source file.
2001-05-06 22:22:03 +00:00
Kevin Buettner 39f770628a Phase 1 of the ptid_t changes. 2001-05-04 04:15:33 +00:00
Kevin Buettner b6ba6518e9 Update/correct copyright notices. 2001-03-06 08:22:02 +00:00
Andrew Cagney 4e052eda91 Create new file regcache.h. Update all uses. 2001-03-01 01:39:22 +00:00
Andrew Cagney f042532cc4 * sol-thread.c (restore_inferior_pid): Save the PID in a freshly
allocated buffer.
(save_inferior_pid): Restore the PID from that tempoary
buffer. Delete the buffer.
* utils.c (make_cleanup_close, do_close_cleanup): Ditto for FD.
2001-02-07 03:44:24 +00:00
Michael Snyder e6cbd02ac2 2001-02-06 Michael Snyder <msnyder@makita.cygnus.com>
Submitted by Paul Hilfinger (hilfingr@gnat.com)
	and Andrei Petrov (and@genesyslab.com).
	* findvar.c: Buffers of size MAX_REGISTER_RAW_SIZE or REGISTER_BYTES
	must be allocated dynamically, since these are no longer constants.
	* infcmd.c: Ditto.
	* regcache.c: Ditto.
	* remote.c: Ditto.
	* sol-thread.c: Ditto.
	* valops.c: Ditto.
	* config/sparc/sun4sol2.mh (MH_CFLAGS): Add -I/usr/include/v9, as a
	work-around for a missing Sun header file in solaris for sparc64.
2001-02-06 20:05:42 +00:00
J.T. Conklin f4d650ecb3 * dcache.c (dcache_write_line): Fix typo.
* memattr.c (delete_mem_region): Replace free() with xfree().
(mem_number): Add explicit type.

* sol-thread.c (sol_thread_xfer_memory): Add attrib argument.
(rw_common): Likewise.
2001-01-24 21:01:02 +00:00
J.T. Conklin 8e1a459b89 * gdbarch.sh, hp-psymtab-read.c, hpread.c, m3-nat.c, mcore-tdep.c,
mips-tdep.c, monitor.c, regcache.c, remote-es.c, ser-unix.c,
somread.c, tracepoint.c: Fix spelling errors in comments.
* gdbarch.c: Regenerate.

* gnu-nat.c (S_exception_raise_request): Fix typos and spelling
errors in strings.
* m3-nat.c (intercept_exec_calls, mach_thread_parse_id): Likewise.
* mcore-tdep.c (mcore_analyze_prologue): Likewise.
* mips-tdep.c (mips16_next_pc, _initialize_mips_tdep): Likewise.
* remote-e7000.c (e7000_start_remote): Likewise.
* remote-rdp.c (handle_swi): Likewise.
* remote-vx.c (vx_load_command): Likewise.
* sh-tdep.c (sh_do_pseudo_register): Likewise.
* sol-thread.c (td_err_string): Likewise.
* symtab.c (decode_line_2): Likewise.
-------------------------------------------------------------------
2000-10-30 21:50:58 +00:00
Kevin Buettner c338868aa6 Protoization. 2000-10-18 03:29:25 +00:00
Peter Schauer a95ac8b608 * sol-thread.c (ps_pdmodel): Return PR_MODEL_UNKNOWN instead of
PS_ERR if exec_bfd is not yet open.
2000-09-28 07:53:41 +00:00
Michael Snyder 71150974e8 Fix mistaken check-in. 2000-09-05 17:43:00 +00:00
Michael Snyder 23715f2973 2000-09-05 Michael Snyder <msnyder@cleaver.cygnus.com>
* sol-thread.c (ps_pdmodel): Protect with an ifdef.
2000-09-05 17:40:57 +00:00
Kevin Buettner 359431fb6d Rename bfd_elf_get_arch_size to bfd_get_arch_size(). 2000-08-31 00:39:10 +00:00
Michael Snyder 23e049712d 2000-08-29 Michael Snyder <msnyder@seadog.cygnus.com>
* valops.c (value_cast): Indentation fix-up.
        * acconfig.h (HAVE_PRGREGSET32_T, HAVE_PRFPREGSET32_T,
        HAVE_STRUCT_LINK_MAP32): New configure macros.
        * config.in: Ditto.
        * configure.in: Test for the above new macros.
        * breakpoint.c: Update copyright date.
        * core-sol2.c: Include v9/sys/privregs.h directly to
        work around a bug in Sun's Solaris 8 header files.
        (fetch_core_registers): Use the above new configure macros to
        handle cross-debugging of 32-bit core files on a 64-bit host.
        * sol-thread.c (ps_pdmodel) New function.
        (rw_common): For debugging of 32-bit apps on a 64-bit host,
        truncate addresses to 32 bits.
        * solib.c (solib_extract_address): Functionize.  Make 32/64 aware.
        (LM_ADDR, LM_NEXT, LM_NAME): Ditto.
        (IGNORE_FIRST_LINK_MAP): Ditto.
        (first_link_map_member): Make 32/64 aware.
        (open_symbol_file_object): Ditto.
        (current_sos): Ditto.
2000-08-30 00:58:58 +00:00
Kevin Buettner fba45db2fa Protoization. 2000-07-30 01:48:28 +00:00
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