diff options
author | Daniel Jacobowitz <drow@false.org> | 2006-03-24 23:08:16 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2006-03-24 23:08:16 +0000 |
commit | f973ed9c9fe95754a838acaf31312265b6d9320f (patch) | |
tree | 77f4f8d175efa0e26415eea4473b13ae9e2cbb4f /gdb/linux-fork.c | |
parent | 57b126a363a42d36e44165a5ba675ced00a4dc61 (diff) | |
download | gdb-f973ed9c9fe95754a838acaf31312265b6d9320f.zip gdb-f973ed9c9fe95754a838acaf31312265b6d9320f.tar.gz gdb-f973ed9c9fe95754a838acaf31312265b6d9320f.tar.bz2 |
* 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.
Diffstat (limited to 'gdb/linux-fork.c')
-rw-r--r-- | gdb/linux-fork.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gdb/linux-fork.c b/gdb/linux-fork.c index 88bea61..bb44682 100644 --- a/gdb/linux-fork.c +++ b/gdb/linux-fork.c @@ -27,6 +27,7 @@ #include "gdb_assert.h" #include "gdb_string.h" #include "linux-fork.h" +#include "linux-nat.h" #include <sys/ptrace.h> #include <sys/wait.h> @@ -84,7 +85,7 @@ add_fork (pid_t pid) } fp = XZALLOC (struct fork_info); - fp->ptid = pid_to_ptid (pid); + fp->ptid = ptid_build (pid, pid, 0); fp->num = ++highest_fork_num; fp->next = fork_list; fork_list = fp; @@ -241,6 +242,8 @@ fork_load_infrun_state (struct fork_info *fp) inferior_ptid = fp->ptid; + linux_nat_switch_fork (inferior_ptid); + if (fp->savedregs && fp->clobber_regs) regcache_cpy (current_regcache, fp->savedregs); |