summaryrefslogtreecommitdiffstats
path: root/gnu
diff options
context:
space:
mode:
authorfenner <fenner@FreeBSD.org>2001-09-19 18:42:19 +0000
committerfenner <fenner@FreeBSD.org>2001-09-19 18:42:19 +0000
commitb56fb0e4ddfdb0285429a33dfc7d754d6a12caf9 (patch)
tree6c362ab611a7d9c5ae92403beab64fbfd55bfd4f /gnu
parent0c48a258989d43226ab3831359c5f99c93e883d8 (diff)
downloadFreeBSD-src-b56fb0e4ddfdb0285429a33dfc7d754d6a12caf9.zip
FreeBSD-src-b56fb0e4ddfdb0285429a33dfc7d754d6a12caf9.tar.gz
Don't try to dereference a kernel pointer in userland; use offsetof()
to get the right address. This fixes kernel GDB after KSE2. Reviewed by: jhb, jake
Diffstat (limited to 'gnu')
-rw-r--r--gnu/usr.bin/binutils/gdb/i386/kvm-fbsd.c2
-rw-r--r--gnu/usr.bin/binutils/gdb/kvm-fbsd.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/gnu/usr.bin/binutils/gdb/i386/kvm-fbsd.c b/gnu/usr.bin/binutils/gdb/i386/kvm-fbsd.c
index 8a91d97..45d90a0 100644
--- a/gnu/usr.bin/binutils/gdb/i386/kvm-fbsd.c
+++ b/gnu/usr.bin/binutils/gdb/i386/kvm-fbsd.c
@@ -206,7 +206,7 @@ curProc ()
if (kvread (addr, &td))
error ("cannot read thread pointer at %x\n", addr);
- addr = (CORE_ADDR)td->td_proc;
+ addr = (CORE_ADDR)td + offsetof(struct thread, td_proc);
if (kvread (addr, &p))
error ("cannot read proc pointer at %x\n", addr);
return p;
diff --git a/gnu/usr.bin/binutils/gdb/kvm-fbsd.c b/gnu/usr.bin/binutils/gdb/kvm-fbsd.c
index 8a91d97..45d90a0 100644
--- a/gnu/usr.bin/binutils/gdb/kvm-fbsd.c
+++ b/gnu/usr.bin/binutils/gdb/kvm-fbsd.c
@@ -206,7 +206,7 @@ curProc ()
if (kvread (addr, &td))
error ("cannot read thread pointer at %x\n", addr);
- addr = (CORE_ADDR)td->td_proc;
+ addr = (CORE_ADDR)td + offsetof(struct thread, td_proc);
if (kvread (addr, &p))
error ("cannot read proc pointer at %x\n", addr);
return p;
OpenPOWER on IntegriCloud