From be4d1333163c056f725fbbb96b400ce3d22802a7 Mon Sep 17 00:00:00 2001
From: Michael Snyder <msnyder@vmware.com>
Date: Wed, 9 Jan 2002 00:37:02 +0000
Subject: 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.
---
 gdb/config/sparc/linux.mh    | 3 ++-
 gdb/config/sparc/sun4sol2.mh | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

(limited to 'gdb/config/sparc')

diff --git a/gdb/config/sparc/linux.mh b/gdb/config/sparc/linux.mh
index e63b2e6..30a97a6 100644
--- a/gdb/config/sparc/linux.mh
+++ b/gdb/config/sparc/linux.mh
@@ -5,7 +5,8 @@ XDEPFILES=
 
 NAT_FILE= nm-linux.h
 NATDEPFILES= fork-child.o infptrace.o inftarg.o corelow.o sparc-nat.o \
-	proc-service.o thread-db.o lin-lwp.o sparc-linux-nat.o linux-proc.o
+	proc-service.o thread-db.o lin-lwp.o sparc-linux-nat.o \
+	linux-proc.o gcore.o 
 
 # The dynamically loaded libthread_db needs access to symbols in the
 # gdb executable.
diff --git a/gdb/config/sparc/sun4sol2.mh b/gdb/config/sparc/sun4sol2.mh
index 8063e16..edcef48 100644
--- a/gdb/config/sparc/sun4sol2.mh
+++ b/gdb/config/sparc/sun4sol2.mh
@@ -6,7 +6,8 @@ XM_CLIBS= -lsocket -lnsl
 
 NAT_FILE= nm-sun4sol2.h
 NATDEPFILES= corelow.o core-sol2.o solib.o solib-svr4.o solib-legacy.o \
-	fork-child.o procfs.o proc-api.o proc-events.o proc-flags.o proc-why.o
+	fork-child.o procfs.o gcore.o \
+	proc-api.o proc-events.o proc-flags.o proc-why.o
 
 # /usr/include/v9 is needed only by core-sol2.c when including 
 # v9/sys/privregs.h, or rather the headers it in turn includes.
-- 
cgit v1.1