diff options
author | fenner <fenner@FreeBSD.org> | 2001-09-19 18:42:19 +0000 |
---|---|---|
committer | fenner <fenner@FreeBSD.org> | 2001-09-19 18:42:19 +0000 |
commit | b56fb0e4ddfdb0285429a33dfc7d754d6a12caf9 (patch) | |
tree | 6c362ab611a7d9c5ae92403beab64fbfd55bfd4f /gnu | |
parent | 0c48a258989d43226ab3831359c5f99c93e883d8 (diff) | |
download | FreeBSD-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.c | 2 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/gdb/kvm-fbsd.c | 2 |
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; |