Commit graph

14 commits

Author SHA1 Message Date
Pierre Muller
91c066694a 2007-10-08 Pierre Muller <muller@ics.u-strasbg.fr>
* linux-fork.c: ARI fix: include "gdb_dirent.h" instead of <dirent.h>.
	Makefile.in (linux-fork.o): Add gdb_dirent.h dependency.
2007-10-08 15:09:04 +00:00
Pierre Muller
3c61c145cc 2007-10-08 Pierre Muller <muller@ics.u-strasbg.fr>
* linux-fork.c: Move "gdb_wait.h" include back to the position of
	<sys/wait.h> include before last commit.
2007-10-08 14:40:42 +00:00
Pierre Muller
cdf430071a 2007-10-08 Pierre Muller <muller@ics.u-strasbg.fr>
* linux-fork.c: ARI fix: include "gdb_wait.h" instead of <sys/wait.h>.
	Makefile.in (linux-fork.o): Add gdb_wait.h dependency.
2007-10-08 07:43:43 +00:00
Joel Brobecker
a9762ec78a Switch the license of all .c files to GPLv3.
Switch the license of all .h files to GPLv3.
        Switch the license of all .cc files to GPLv3.
2007-08-23 18:08:50 +00:00
Ulrich Weigand
594f77850b * regcache.c (struct regcache): Add ptid_t member.
(regcache_xmalloc): Initialize it.
	(regcache_cpy_no_passthrough): Do not refer to current_regcache.
	(regcache_dup): Likewise.
	(regcache_dup_no_passthrough): Likewise.
	(current_regcache): Make static.
	(registers_ptid): Remove variable.
	(get_thread_regcache): New function.
	(get_current_regcache): New function.
	(registers_changed): Implement by freeing current regcache.
	(regcache_raw_read): Do not refer to current_regcache.  Set
	inferior_ptid to regcache->ptid while calling target routines.
	(regcache_raw_write): Likewise.
	(regcache_raw_supply): Do not refer to current_regcache.
	(read_pc_pid): Use thread regcache.  Do not modify inferior_ptid.
	(write_pc_pid): Likewise.
	(build_regcache): Remove.
	(_initialize_regcache): Do not call DEPRECATED_REGISTER_GDBARCH_SWAP
	or deprecated_register_gdbarch_swap.  Do not initialize
	registers_ptid.
	* regcache.h (get_current_regcache): Add prototype.
	(get_thread_regcache): Likewise.
	(current_regcache): Remove declaration.

	* corelow.c (core_open): Replace current_regcache by
	get_current_regcache ().
	* frame.c (frame_pop): Likewise.
	(put_frame_register): Likewise.
	(get_current_frame, create_new_frame): Likewise.
	* mi/mi-main.c (mi_cmd_data_write_register_values): Likewise.
	* stack.c (return_command): Likewise.
	* infcall.c (call_function_by_hand): Likewise.
	* infrun.c (resume): Likewise.
	(save_inferior_status, restore_inferior_status): Likewise.
	* linux-fork.c (fork_load_infrun_state): Likewise.
	(fork_save_infrun_state): Likewise.
	* win32-nat.c (win32_resume): Likewise.
	* i386fbsd-nat.c (i386fbsd_resume): Likewise.
	* monitor.c (monitor_wait): Likewise.
	* remote.c (remote_wait): Likewise.
	* remote-mips.c (mips_wait): Likewise.

	* bsd-kvm.c (bsd_kvm_open): Likewise
	(bsd_kvm_proc_cmd, bsd_kvm_pcb_cmd): Likewise.
	* fbsd-nat.c (fbsd_make_corefile_notes): Likewise.
	* i386-linux-nat.c (i386_linux_resume): Likewise.
	* ia64-linux-nat.c (ia64_linux_insert_watchpoint): Likewise.
	(ia64_linux_stopped_data_address): Likewise.

	* frv-tdep.c (frv_fdpic_loadmap_addresses): Likewise.
	* m32c-tdep.c (m32c_virtual_frame_pointer): Likewise.
	* mep-tdep.c (current_me_module, current_options): Likewise.
	* mips-tdep.c (deprecated_mips_set_processor_regs_hack): Likewise.

	* linux-nat.c (linux_nat_do_thread_registers): Use thread
	regcache instead of current_regcache.  Call target_fetch_registers.
	(linux_nat_corefile_thread_callback): Update call site.
	(linux_nat_do_registers): Likewise.
	* procfs.c (procfs_do_thread_registers): Use thread regcache instead
	of current_regcache.
	(procfs_make_note_section): Likewise.
	* proc-service.c (ps_lgetregs, ps_lsetregs): Likewise.
	(ps_lgetfpregs, ps_lsetfpregs): Likewise.
	* sol-thread.c (ps_lgetregs, ps_lsetregs): Likewise.
	(ps_lgetfpregs, ps_lsetfpregs): Likewise.
2007-06-16 17:16:26 +00:00
Daniel Jacobowitz
35f196d907 * frame.c (frame_pop, frame_observer_target_changed): Call
reinit_frame_cache.
	(flush_cached_frames): Rename to reinit_frame_cache and delete
	old implementation.
	* frame.h (flush_cached_frames): Delete prototype and update comment.

	* bsd-kvm.c (bsd_kvm_open, bsd_kvm_proc_cmd, bsd_kvm_pcb_cmd): Call
	reinit_frame_cache instead of flush_cached_frames.  Do not call
	select_frame after reinit_frame_cache.
	* corelow.c (core_open): Likewise.
	* gdbarch.sh (deprecated_current_gdbarch_select_hack): Likewise.
	* infrun.c (prepare_to_proceed, context_switch)
	(handle_inferior_event): Likewise.
	* linux-fork.c (fork_load_infrun_state): Likewise.
	* ocd.c (ocd_start_remote): Likewise.
	* remote-e7000.c (e7000_start_remote): Likewise.
	* remote-mips.c (device): Likewise.
	* thread.c (switch_to_thread): Likewise.
	* tracepoint.c (finish_tfind_command): Likewise.
	* gdbarch.c: Regenerated.
2007-02-28 17:35:01 +00:00
Daniel Jacobowitz
6aba47ca06 Copyright updates for 2007. 2007-01-09 17:59:20 +00:00
Andreas Schwab
f73adfeb8b * gdbcmd.h (detachlist): Declare.
* infcmd.c (_initialize_infcmd): Define "detach" as prefix
	command.
	* linux-fork.c (_initialize_linux_fork): Rename
	"detach-checkpoint" to "detach checkpoint" and "detach-fork" to
	"detach fork".
	* cli/cli-cmds.c (detachlist): Define.
	(init_cmd_lists): Initialize it.
	* cli/cli-cmds.h (detachlist): Declare.

doc/:
	* gdb.texinfo (Processes): Rename "detach-fork" to "detach fork".

testsuite/:
	* gdb.base/multi-forks.exp: Use "detach fork" instead of
	"detach-fork".
2006-10-27 22:23:21 +00:00
Michael Snyder
b8db102de3 2006-04-26 Michael Snyder <msnyder@redhat.com>
* linux-fork.c (_initialize_linux_fork): Rename "delete-fork"
	command to "delete fork" (no hyphen), compatible with other
	"delete" commands.
	(info_forks_command): Accept a fork ID argument, for info
	on a single fork.  Report if no matching forks.

2006-04-26  Michael Snyder  <msnyder@redhat.com>

	* gdb.base/multi-forks.exp: Modify patterns for "run to exit",
	which may have to consume output from other forks.
	Add tests to make sure that "delete fork" succeeded.

2006-04-27  Michael Snyder  <msnyder@redhat.com>

	* gdb.texinfo (delete-fork): Command renamed to "delete fork".
2006-04-27 23:03:42 +00:00
Daniel Jacobowitz
f973ed9c9f * linux-nat.c (linux_ops_saved): New.
(super_mourn_inferior, kill_inferior, threaded, linux_nat_ops)
	(child_mourn_inferior, child_wait, linux_nat_create_inferior)
	(linux_nat_fetch_registers, linux_nat_store_registers)
	(linux_nat_child_post_startup_inferior, init_linux_nat_ops): Delete.
	(init_lwp_list): Don't set threaded.
	(add_lwp): Don't modify threaded.
	(delete_lwp): Don't mention non-threaded mode.
	(linux_nat_switch_fork): New.
	(linux_nat_attach): Update inferior_ptid.
	(linux_nat_wait): Handle num_lwps == 0 at entry.  Don't check
	threaded flag.
	(linux_nat_kill): Handle pending forks and saved forks.
	(linux_nat_mourn_inferior): Handle saved forks.
	(linux_nat_pid_to_str): Don't use the LWP form when there is
	only one thread.
	(linux_target): Don't set to_wait, to_kill, or to_mourn_inferior.
	(linux_nat_add_target): New.
	(_initialize_linux_nat): Don't initialize the linux native target
	here.
	* linux-nat.h (linux_nat_add_target, linux_nat_switch_fork): New
	prototypes.
	* linux-fork.c: Include "linux-nat.h".
	(add_fork): Update initial PID.
	(fork_load_infrun_state): Call linux_nat_switch_fork.
	* Makefile.in (linux-fork.o): Update.

	* alpha-linux-nat.c (_initialize_alpha_linux_nat): Use
	linux_nat_add_target instead of add_target.
	* amd64-linux-nat.c (_initialize_amd64_linux_nat): Likewise.
	* arm-linux-nat.c (_initialize_arm_linux_nat): Likewise.
	* hppa-linux-nat.c (_initialize_hppa_linux_nat): Likewise.
	* ia64-linux-nat.c (_initialize_ia64_linux_nat): Likewise.
	* i386-linux-nat.c (_initialize_i386_linux_nat): Likewise.
	* m32r-linux-nat.c (_initialize_m32r_linux_nat): Likewise.
	* m68klinux-nat.c (_initialize_m68k_linux_nat): Likewise.
	* mips-linux-nat.c (_initialize_mips_linux_nat): Likewise.
	* ppc-linux-nat.c (_initialize_ppc_linux_nat): Likewise.
	* s390-nat.c (_initialize_s390_nat): Likewise.
	* sparc-linux-nat.c (_initialize_sparc_linux_nat): Likewise.
	* sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Likewise.
2006-03-24 23:08:16 +00:00
Daniel Jacobowitz
791b663bea * linux-fork.c: Include "gdb_assert.h".
(fork_load_infrun_state): Set inferior_ptid and stop_pc here.
	Update the register cache and selected frame also.
	(linux_fork_mourn_inferior): Use fork_load_infrun_state.  Return
	to single fork mode if necessary.
	(linux_fork_context): Remove bits handled by fork_load_infrun_state.
	* Makefile.in (linux_fork_h): New.
	(linux-fork.o, linux-nat.o): Update.
2006-03-24 22:44:05 +00:00
Michael Snyder
56aac7e845 2006-03-09 Michael Snyder <msnyder@redhat.com>
* linux-nat.c (kill_inferior): Just call target_mourn_inferior
	instead of getting tricky for the multi-fork case.
	* linux-fork.c (linux_fork_killall): Call PT_KILL and waitpid
	for each fork, and then use init_fork_list to delete them.
2006-03-10 20:15:42 +00:00
Daniel Jacobowitz
1dce6535d8 * linux-fork.c (delete_fork_command, detach_fork_command): Use
PIDGET.
2006-01-15 19:07:17 +00:00
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