diff options
author | Mark Kettenis <kettenis@gnu.org> | 2004-06-27 15:56:20 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@gnu.org> | 2004-06-27 15:56:20 +0000 |
commit | efe1d7b9b08b07cb56e7747fe326235060841b2e (patch) | |
tree | f5c8a92ee0e0dfe00935d94789acd3c89ae6cb1a /gdb/bsd-kvm.c | |
parent | 315c4276b17212eb4851c918de7f38d9d155c25f (diff) | |
download | fsf-binutils-gdb-efe1d7b9b08b07cb56e7747fe326235060841b2e.zip fsf-binutils-gdb-efe1d7b9b08b07cb56e7747fe326235060841b2e.tar.gz fsf-binutils-gdb-efe1d7b9b08b07cb56e7747fe326235060841b2e.tar.bz2 |
* bsd-kvm.c (bsd_kvm_fetch_registers): Directly return after
fetching from BSD_KVM_PADDR. Correctly lookup address for
"_thread0".
Diffstat (limited to 'gdb/bsd-kvm.c')
-rw-r--r-- | gdb/bsd-kvm.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gdb/bsd-kvm.c b/gdb/bsd-kvm.c index 37fc2b4..a037f84 100644 --- a/gdb/bsd-kvm.c +++ b/gdb/bsd-kvm.c @@ -128,7 +128,10 @@ bsd_kvm_fetch_registers (int regnum) struct nlist nl[2]; if (bsd_kvm_paddr) - bsd_kvm_fetch_pcb (bsd_kvm_paddr); + { + bsd_kvm_fetch_pcb (bsd_kvm_paddr); + return; + } /* On dumping core, BSD kernels store the faulting context (PCB) in the variable "dumppcb". */ @@ -185,8 +188,8 @@ bsd_kvm_fetch_registers (int regnum) struct pcb *paddr; /* Found thread0. */ - nl[1].n_value += offsetof (struct thread, td_pcb); - if (kvm_read (core_kd, nl[1].n_value, &paddr, sizeof paddr) == -1) + nl[0].n_value += offsetof (struct thread, td_pcb); + if (kvm_read (core_kd, nl[0].n_value, &paddr, sizeof paddr) == -1) error ("%s", kvm_geterr (core_kd)); bsd_kvm_fetch_pcb (paddr); |