Commit graph

8 commits

Author SHA1 Message Date
Michael Snyder
ac264b3b9c 2006-01-04 Michael Snyder <msnyder@redhat.com>
Checkpoint/Restart for Linux.
	* linux-nat.c: Add support for debugging multiple forks.
	Add #include for linux-fork.h (interface spec).
	(super_mourn_inferior): New function pointer.
	(child_mourn_inferior): New function / target method.
	(linux_target): Claim to_mourn_inferior method pointer.
	(child_follow_fork): Call interface to linux-fork, conditionally
	add new fork processes to list of debugged processes.
	(kill_inferior): Use interface to linux-fork to kill
	multiple processes.

	* linux-fork.h: New file.
	* linux-fork.c: New file.  Support for debugging multiple forks
	of the same program.  Support for checkpoint and restart commands.

	* infrun.c (nullify_last_target_wait_ptid): New function.

	* Makefile.in: Add linux-fork.
	* config/*/linux.mh: Add linux-fork.
	* NEWS: Mention new functionality.
2006-01-04 19:34:58 +00:00
Daniel Jacobowitz
10d6c8cd3f * Makefile.in (ALLDEPFILES): Update.
(alpha-linux-nat.o, sparc-linux-nat.o): New rules.
	(amd64-linux-nat.o, arm-linux-nat.o, hppa-linux-nat.o)
	(i386-linux-nat.o, ia64-linux-nat.o, linux-nat.o, m32r-linux-nat.o)
	(m68klinux-nat.o, mips-linux-nat.o, ppc-linux-nat.o, s390-nat.o)
	(sparc64-linux-nat.o): Update dependencies.
	* alpha-linux-nat.c, sparc-linux-nat.c: New files.
	* amd64-linux-nat.c (amd64_linux_fetch_inferior_registers): Renamed
	from fetch_inferior_registers and made static.
	(amd64_linux_store_inferior_registers): Renamed from
	store_inferior_registers and made static.
	(amd64_linux_child_post_start_inferior): Renamed from
	child_post_startup_inferior and made static.  Call
	super_post_startup_inferior.
	(super_post_startup_inferior): New.
	(_initialize_amd64_linux_nat): Set it.  Call linux_target and
	add_target.
	* arm-linux-nat.c (arm_linux_fetch_inferior_registers): Renamed
	from fetch_inferior_registers and made static.
	(arm_linux_store_inferior_registers): Renamed from
	store_inferior_registers and made static.
	(_initialize_arm_linux_nat): Add a prototype.  Use linux_target and
	add_target.
	* hppa-linux-nat.c (hppa_linux_fetch_inferior_registers): Renamed
	from fetch_inferior_registers and made static.
	(hppa_linux_store_inferior_registers): Renamed from
	store_inferior_registers and made static.
	(_initialize_hppa_linux_nat): New function.
	* i386-linux-nat.c (i386_linux_fetch_inferior_registers): Renamed
	from fetch_inferior_registers and made static.
	(i386_linux_store_inferior_registers): Renamed from
	store_inferior_registers and made static.
	(i386_linux_resume): Renamed from child_resume and made static.
	(i386_linux_child_post_start_inferior): Renamed from
	child_post_startup_inferior and made static.  Call
	super_post_startup_inferior.
	(super_post_startup_inferior): New.
	(_initialize_i386_linux_nat): New function.
	* i386-nat.c: Remove LINUX_CHILD_POST_STARTUP_INFERIOR #ifndef.
	* ia64-linux-nat.c (ia64_linux_xfer_unwind_table): Remove.
	(super_xfer_partial): New.
	(ia64_linux_xfer_partial): New function.  Use it.
	(_initialize_ia64_linux_nat): New function.
	* ia64-tdep.c (getunwind_table): Revert 2005-06-08 change; use
	target_read_partial and document the problem.
	* inf-ptrace.c (inf_ptrace_fetch_register): Use
	CANNOT_FETCH_REGISTER.  Fix some comments.
	(inf_ptrace_store_register): Use CANNOT_STORE_REGISTER.  Fix some
	comments.
	* linux-nat.c: Include "inf-ptrace.h" and "auxv.h".
	(linux_ops, super_xfer_partial): New variables.
	(linux_child_post_startup_inferior): Make static.
	(child_post_startup_inferior): Delete.
	(linux_nat_attach, linux_nat_detach, resume_callback)
	(linux_nat_resume, linux_nat_wait, linux_nat_create_inferior)
	(linux_nat_mourn_inferior): Use linux_ops instead of
	deprecated_child_ops.
	(child_wait): Do not depend on CHILD_WAIT.
	(linux_nat_xfer_memory): Remove, replace by ...
	(linux_nat_xfer_partial): ... this.  Use linux_ops->to_xfer_partial
	instead of linux_proc_xfer_memory and child_xfer_memory.
	(linux_nat_fetch_registers, linux_nat_store_registers)
	(linux_nat_child_post_startup_inferior): New functions.
	(init_linux_nat_ops): Use the new functions.
	(linux_proc_xfer_memory): Remove, replace by ...
	(linux_proc_xfer_partial): ... this.  Make static.
	(linux_xfer_partial, linux_register_u_offset, linux_target): New
	functions.
	(_initialize_linux_nat): Do not modify deprecated_child_ops.
	* linux-nat.h (linux_proc_xfer_memory): Remove prototype.
	(struct mem_attrib, struct target_ops): Remove forward declarations.
	(linux_child_post_startup_inferior): Remove prototype.
	(linux_target): Add prototype.
	* linux-thread-db.c (thread_db_xfer_memory): Remove, replace by ...
	(thread_db_xfer_partial): ... this.
	(init_thread_db_ops): Set to_xfer_partial instead of
	deprecated_xfer_memory.
	* m32r-linux-nat.c (m32r_linux_fetch_inferior_registers): Renamed
	from fetch_inferior_registers and made static.
	(m32r_linux_store_inferior_registers): Renamed from
	store_inferior_registers and made static.
	(_initialize_m32r_linux_nat): New function.
	* m68klinux-nat.c (m68k_linux_fetch_inferior_registers): Renamed
	from fetch_inferior_registers and made static.
	(m68k_linux_store_inferior_registers): Renamed from
	store_inferior_registers and made static.
	(old_fetch_inferior_registers, old_store_inferior_registers): Made
	static.
	(_initialize_m68k_linux_nat): Use linux_target and add_target.
	* mips-linux-nat.c (_initialize_mips_linux_nat): New function.
	* ppc-linux-nat.c (ppc_linux_fetch_inferior_registers): Renamed
	from fetch_inferior_registers and made static.
	(ppc_linux_store_inferior_registers): Renamed from
	store_inferior_registers and made static.
	(_initialize_ppc_linux_nat): New function.
	* s390-nat.c (s390_linux_fetch_inferior_registers): Renamed
	from fetch_inferior_registers and made static.
	(s390_linux_store_inferior_registers): Renamed from
	store_inferior_registers and made static.
	(_initialize_s390_nat): New function.
	* sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
	linux_target and add_target.
	* config/nm-linux.h: Don't include "auxv.h".
	(struct target_waitstatus, child_wait, CHILD_WAIT)
	(CHILD_PID_TO_EXEC_FILE, CHILD_INSERT_FORK_CATCHPOINT)
	(CHILD_INSERT_VFORK_CATCHPOINT, CHILD_INSERT_EXEC_CATCHPOINT)
	(CHILD_POST_STARTUP_INFERIOR, CHILD_POST_ATTACH, CHILD_FOLLOW_FORK)
	(DEPRECATED_KILL_INFERIOR, NATIVE_XFER_AUXV): Delete.
	* config/alpha/alpha-linux.mh (NATDEPFILES): Replace infptrace.o
	and inftarg.o with inf-ptrace.o and alpha-linux-nat.o.
	* config/sparc/linux.mh (NATDEPFILES): Replace infptrace.o and
	inftarg.o with sparc-linux-nat.o.
	* config/sparc/linux64.mh (NATDEPFILES): Remove infptrace.o and
	inftarg.o.
	* config/arm/linux.mh (NATDEPFILES): Replace infptrace.o and
	inftarg.o with inf-ptrace.o.
	* config/i386/linux.mh (NATDEPFILES): Likewise.
	* config/i386/linux64.mh (NATDEPFILES): Likewise.
	* config/ia64/linux.mh (NATDEPFILES): Likewise.
	* config/m32r/linux.mh (NATDEPFILES): Likewise.
	* config/m68k/linux.mh (NATDEPFILES): Likewise.
	* config/mips/linux.mh (NATDEPFILES): Likewise.
	* config/pa/linux.mh (NATDEPFILES): Likewise.
	* config/powerpc/linux.mh (NATDEPFILES): Likewise.
	* config/powerpc/ppc64-linux.mh (NATDEPFILES): Likewise.
	* config/s390/s390.mh (NATDEPFILES): Likewise.
	* config/i386/nm-linux.h (DEPRECATED_CHILD_RESUME): Don't define.
	(LINUX_CHILD_POST_STARTUP_INFERIOR): Don't define.
	* config/i386/nm-linux64.h (LINUX_CHILD_POST_STARTUP_INFERIOR):
	Don't define.
	* config/ia64/nm-linux.h: Don't include "target.h".
	(NATIVE_XFER_UNWIND_TABLE, ia64_linux_xfer_unwind_table): Remove.
	* config/djgpp/fnchange.lst: Add alpha-linux-tdep.c,
	alpha-linux-nat.c, sparc-linux-tdep.c, and sparc-linux-nat.c.
2005-09-10 18:11:14 +00:00
Daniel Jacobowitz
ed89d17542 * linux-thread-db.c: New file, renamed from thread-db.c.
* thread-db.c: Remove.
	* Makefile.in (linux-thread-db.o): Rename from thread-db.o rule.
	* config/alpha/alpha-linux.mh (NATDEPFILES): Rename thread-db.o
	to linux-thread-db.o.
	* config/arm/linux.mh (NATDEPFILES): Likewise.
	* config/i386/linux.mh (NATDEPFILES): Likewise.
	* config/i386/linux64.mh (NATDEPFILES): Likewise.
	* config/ia64/linux.mh (NATDEPFILES): Likewise.
	* config/m32r/linux.mh (NATDEPFILES): Likewise.
	* config/m68k/linux.mh (NATDEPFILES): Likewise.
	* config/mips/linux.mh (NATDEPFILES): Likewise.
	* config/pa/linux.mh (NATDEPFILES): Likewise.
	* config/powerpc/linux.mh (NATDEPFILES): Likewise.
	* config/powerpc/ppc64-linux.mh (NATDEPFILES): Likewise.
	* config/s390/s390.mh (NATDEPFILES): Likewise.
	* config/sparc/linux.mh (NATDEPFILES): Likewise.
	* config/sparc/linux64.mh (NATDEPFILES): Likewise.
2004-11-14 18:47:52 +00:00
Andrew Cagney
dba24537b6 2004-09-28 Andrew Cagney <cagney@gnu.org>
* linux-proc.c: Delete file.
	* Makefile.in: Update.
	* config/sparc/linux64.mh (NATDEPFILES):
	* config/sparc/linux.mh (NATDEPFILES): Update.
	* config/s390/s390.mh (NATDEPFILES): Update.
	* config/powerpc/ppc64-linux.mh (NATDEPFILES): Update.
	* config/powerpc/linux.mh (NATDEPFILES): Update.
	* config/pa/linux.mh (NATDEPFILES): Update.
	* config/mips/linux.mh (NATDEPFILES): Update.
	* config/m68k/linux.mh (NATDEPFILES): Update.
	* config/ia64/linux.mh (NATDEPFILES): Update.
	* config/i386/linux64.mh (NATDEPFILES): Update.
	* config/i386/linux.mh (NATDEPFILES): Update.
	* config/arm/linux.mh (NATDEPFILES): Update.
	* config/alpha/alpha-linux.mh (NATDEPFILES): Update.
	* linux-nat.c: Update copyright.  Include <sys/param.h>,
	<sys/procfs.h>, "elf-bfd.h", "gregset.h", <ctype.h>,
	"gdbthread.h", "gdb_stat.h", <fcntl.h>.
	(O_LARGEFILE): Possibly define.
	(_initialize_linux_nat, linux_proc_pending_signals)
	(add_line_to_sigset, linux_proc_xfer_memory)
	(linux_nat_info_proc_cmd, linux_nat_make_corefile_notes)
	(linux_nat_do_registers, linux_nat_corefile_thread_callback)
	(struct linux_corefile_thread_data)
	(linux_nat_do_thread_registers, linux_nat_find_memory_regions)
	(child_pid_to_exec_file): Insert code previously in linux-proc.c.
2004-09-28 17:29:12 +00:00
Andrew Cagney
d6b0e80fa5 2004-09-16 Andrew Cagney <cagney@gnu.org>
* lin-lwp.c: Delete file.
	* linux-nat.c: Include "gdb_assert.h", "gdb_string.h", <unistd.h>,
	<sys/syscall.h>, "gdbthread.h", "gdbcmd.h", "regcache.h".
	(status_to_str, init_lwp_list, add_lwp, delete_lwp)
	(find_lwp_pid, iterate_over_lwps, lin_lwp_attach_lwp)
	(linux_nat_attach, detach_callback, linux_nat_detach)
	(resume_callback, resume_clear_callback, linux_nat_resume)
	(kill_lwp, linux_nat_handle_extended, wait_lwp, stop_callback)
	(stop_wait_callback, linux_nat_has_pending, flush_callback)
	(status_callback, running_callback, count_events_callback)
	(select_singlestep_lwp_callback, select_event_lwp_callback)
	(cancel_breakpoints_callback, select_event_lwp, resumed_callback)
	(child_wait, stop_and_resume_callback, linux_nat_wait)
	(kill_callback, kill_wait_callback, linux_nat_kill)
	(linux_nat_create_inferior, linux_nat_mourn_inferior)
	(linux_nat_xfer_memory, linux_nat_thread_alive)
	(linux_nat_pid_to_str, init_linux_nat_ops, sigchld_handler)
	(_initialize_linux_nat): New functions.
	* Makefile.in: Update all dependencies.
	* config/sparc/linux64.mh (NATDEPFILES): Remove lin-lwp.o.
	* config/sparc/linux.mh (NATDEPFILES): Remove lin-lwp.o.
	* config/s390/s390.mh (NATDEPFILES): Remove lin-lwp.o.
	* config/powerpc/ppc64-linux.mh (NATDEPFILES): Remove lin-lwp.o.
	* config/powerpc/linux.mh (NATDEPFILES): Remove lin-lwp.o.
	* config/pa/linux.mh (NATDEPFILES): Remove lin-lwp.o.
	* config/mips/linux.mh (NATDEPFILES): Remove lin-lwp.o.
	* config/m68k/linux.mh (NATDEPFILES): Remove lin-lwp.o.
	* config/ia64/linux.mh (NATDEPFILES): Remove lin-lwp.o.
	* config/i386/linux64.mh (NATDEPFILES): Remove lin-lwp.o.
	* config/i386/linux.mh (NATDEPFILES): Remove lin-lwp.o.
	* config/arm/linux.mh (NATDEPFILES): Remove lin-lwp.o.
	* config/alpha/alpha-linux.mh (NATDEPFILES): Remove lin-lwp.o.
2004-09-27 19:55:18 +00:00
Andrew Cagney
6fa856b91f 2004-07-29 Andrew Cagney <cagney@gnu.org>
* config/powerpc/xm-linux.h: Delete empty file.
	* config/powerpc/ppc64-linux.mh (XM_FILE): Delete.
	* config/powerpc/linux.mh (XM_FILE): Delete.
	* config/m68k/xm-linux.h: Delete empty file.
	* config/m68k/linux.mh (XM_FILE): Delete.
	* config/ia64/xm-linux.h: Delete empty file.
	* config/ia64/linux.mh (XM_FILE): Delete.
	* config/arm/xm-linux.h: Delete empty file.
	* config/arm/linux.mh (XM_FILE): Delete.
2004-07-29 20:32:45 +00:00
Elena Zannoni
88a07d7ce0 2003-06-27 Elena Zannoni <ezannoni@redhat.com>
* config/powerpc/ppc64-linux.mh (NATDEPFILES): Add linux-nat.o.
2003-06-27 17:05:58 +00:00
Jim Blandy
8fbb30b124 * configure.host, configure.tgt: Add entries for
powerpc64-*-linux, selecting powerpc/ppc64-linux.mh and
powerpc/linux.mt.
* config/powerpc/ppc64-linux.mh, config/powerpc/nm-ppc64-linux.mh:
New files.
2003-06-12 23:30:39 +00:00