diff options
author | peter <peter@FreeBSD.org> | 1999-12-27 07:14:58 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 1999-12-27 07:14:58 +0000 |
commit | 047fa82dd05146cf34e7c0f9fe16e2f4a5fa741f (patch) | |
tree | bf612c2f85cc36d2b54233162227b2975c37fd0a /lib/libkvm/kvm_proc.c | |
parent | 04cead132ddb264f917bbce4fd71d663b16aa645 (diff) | |
download | FreeBSD-src-047fa82dd05146cf34e7c0f9fe16e2f4a5fa741f.zip FreeBSD-src-047fa82dd05146cf34e7c0f9fe16e2f4a5fa741f.tar.gz |
Use kldsym(2) to lookup symbol values. This avoids the kvm_mkdb juggling
and is module aware. Yes, this means that kvm_nlist(3) will find symbols
in loaded modules. The emulation of the nlist struct is pretty crude but
seems to work well enough for all the users in the tree that I found.
Diffstat (limited to 'lib/libkvm/kvm_proc.c')
-rw-r--r-- | lib/libkvm/kvm_proc.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/libkvm/kvm_proc.c b/lib/libkvm/kvm_proc.c index feba974..3490bd4 100644 --- a/lib/libkvm/kvm_proc.c +++ b/lib/libkvm/kvm_proc.c @@ -70,7 +70,6 @@ static char sccsid[] = "@(#)kvm_proc.c 8.3 (Berkeley) 9/23/93"; #include <limits.h> #include <memory.h> -#include <db.h> #include <paths.h> #include "kvm_private.h" @@ -675,6 +674,12 @@ kvm_getargv(kd, kp, nchr) static char **bufp; static int argc; + if (!ISALIVE(kd)) { + _kvm_err(kd, kd->program, + "cannot read user space from dead kernel"); + return (0); + } + if (!buflen) { l = sizeof(buflen); i = sysctlbyname("kern.ps_arg_cache_limit", |