diff options
author | Nathan J. Williams <nathanw@wasabisystems.com> | 2004-08-07 21:52:15 +0000 |
---|---|---|
committer | Nathan J. Williams <nathanw@wasabisystems.com> | 2004-08-07 21:52:15 +0000 |
commit | da7d81e3861d91b055a4bc75a5d1372f0c025e36 (patch) | |
tree | 42e97b64580bd9db9af356592a54b0cf4ddc943a /gdb | |
parent | 7f245d65f70913f51bfd1cb4f49822801ca6ecc9 (diff) | |
download | gdb-da7d81e3861d91b055a4bc75a5d1372f0c025e36.zip gdb-da7d81e3861d91b055a4bc75a5d1372f0c025e36.tar.gz gdb-da7d81e3861d91b055a4bc75a5d1372f0c025e36.tar.bz2 |
* configure.in: Test for struct lwp in <sys/lwp.h>
* bsd-kvm.c (bsd_kvm_proc_cmd): If HAVE_STRUCT_LWP is defined, use
the offset of l_addr in struct lwp.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/bsd-kvm.c | 4 | ||||
-rw-r--r-- | gdb/configure.in | 10 |
3 files changed, 20 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index a19c0a7..b20391a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,11 @@ 2004-08-07 Nathan J. Williams <nathanw@wasabisystems.com> + * configure.in: Test for struct lwp in <sys/lwp.h>. + * bsd-kvm.c (bsd_kvm_proc_cmd): If HAVE_STRUCT_LWP is defined, use + the offset of l_addr in struct lwp. + +2004-08-07 Nathan J. Williams <nathanw@wasabisystems.com> + * bsd-kvm.c: Include "gdbcore.h" (bsd_kvm_open): Use get_exec_file() to set 'execfile'. diff --git a/gdb/bsd-kvm.c b/gdb/bsd-kvm.c index 45ce561..083bc92 100644 --- a/gdb/bsd-kvm.c +++ b/gdb/bsd-kvm.c @@ -230,7 +230,11 @@ bsd_kvm_proc_cmd (char *arg, int fromtty) error ("No kernel memory image."); addr = parse_and_eval_address (arg); +#ifdef HAVE_STRUCT_LWP + addr += offsetof (struct lwp, l_addr); +#else addr += offsetof (struct proc, p_addr); +#endif if (kvm_read (core_kd, addr, &bsd_kvm_paddr, sizeof bsd_kvm_paddr) == -1) error ("%s", kvm_geterr (core_kd)); diff --git a/gdb/configure.in b/gdb/configure.in index 2a2714b..6eac761 100644 --- a/gdb/configure.in +++ b/gdb/configure.in @@ -553,6 +553,16 @@ if test $gdb_cv_struct_thread_td_pcb = yes; then [Define to 1 if your system has td_pcb in struct thread.]) fi +# See if <sys/lwp.h> defines `struct lwp`. +AC_CACHE_CHECK([for struct lwp], gdb_cv_struct_lwp, +[AC_TRY_COMPILE([#include <sys/param.h> +#include <sys/lwp.h>], [struct lwp l;], +gdb_cv_struct_lwp=yes, gdb_cv_struct_lwp=no)]) +if test $gdb_cv_struct_lwp = yes; then + AC_DEFINE(HAVE_STRUCT_LWP, 1, + [Define to 1 if your system has struct lwp.]) +fi + # See if <machine/reg.h> degines `struct reg'. AC_CACHE_CHECK([for struct reg in machine/reg.h], gdb_cv_struct_reg, [AC_TRY_COMPILE([#include <sys/types.h> |