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 | 7b656ebb5f460ea955f953e1eb1d5ddb4e00afa8 (patch) | |
tree | f77c1dd96e3527fac475d3a029512c39fd12fbfb /gdb/bsd-kvm.c | |
parent | 52c15e531ea0c9d78aae5197b3c8683770640faa (diff) | |
download | gdb-7b656ebb5f460ea955f953e1eb1d5ddb4e00afa8.tar.gz |
* 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 37fc2b48a6a..a037f84c6a4 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); |