From: Mark Kettenis Date: Sun, 27 Jun 2004 15:56:20 +0000 (+0000) Subject: * bsd-kvm.c (bsd_kvm_fetch_registers): Directly return after X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=efe1d7b9b08b07cb56e7747fe326235060841b2e;p=binutils-gdb.git * bsd-kvm.c (bsd_kvm_fetch_registers): Directly return after fetching from BSD_KVM_PADDR. Correctly lookup address for "_thread0". --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 18891124c67..6df260c2008 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,9 @@ 2004-06-27 Mark Kettenis + * bsd-kvm.c (bsd_kvm_fetch_registers): Directly return after + fetching from BSD_KVM_PADDR. Correctly lookup address for + "_thread0". + * amd64fbsd-nat.c: Include and "bsd-kvm.h". (amd64fbsd_supply_pcb): New funcion. 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);