diff options
author | John Baldwin <jhb@FreeBSD.org> | 2016-01-15 12:21:07 -0800 |
---|---|---|
committer | John Baldwin <jhb@FreeBSD.org> | 2016-01-19 08:18:49 -0800 |
commit | 94309df7aa9ab48bec7fb58fdc1deb26e24fc4c1 (patch) | |
tree | 5b43d9a4b9facc4ff224c40cf9a0d8493a8947c7 /gdb/inf-ptrace.h | |
parent | 791174281c341539fab650bd934cc0060b7c9720 (diff) |
Use LWP IDs with ptrace register requests on FreeBSD.
This allows gdb to fetch per-thread registers for multi-threaded FreeBSD
processes.
Export get_ptrace_pid() from inf-ptrace.c and use it to determine the PID
to pass to ptrace in pan-BSD native targets. NetBSD and OpenBSD also accept
LWP IDs for ptrace requests to fetch per-thread state.
gdb/ChangeLog:
* amd64bsd-nat.c (amd64bsd_fetch_inferior_registers): Use
get_ptrace_pid.
(amd64bsd_store_inferior_registers): Use get_ptrace_pid.
(amd64bsd_dr_get): Use get_ptrace_pid.
(amd64bsd_dr_set): Use get_ptrace_pid.
* i386bsd-nat.c (i386bsd_fetch_inferior_registers): Use get_ptrace_pid.
(i386bsd_store_inferior_registers): Use get_ptrace_pid.
(i386bsd_dr_get): Use get_ptrace_pid.
(i386bsd_dr_set): Use get_ptrace_pid.
* inf-ptrace.c (get_ptrace_pid): Export.
* inf-ptrace.h (get_ptrace_pid): Declare.
* ppcfbsd-nat.c (ppcfbsd_fetch_inferior_registers): Use lwp id.
(ppcfbsd_store_inferior_registers): Use lwp id.
Diffstat (limited to 'gdb/inf-ptrace.h')
-rw-r--r-- | gdb/inf-ptrace.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gdb/inf-ptrace.h b/gdb/inf-ptrace.h index ec405904a4..0a267202ec 100644 --- a/gdb/inf-ptrace.h +++ b/gdb/inf-ptrace.h @@ -33,4 +33,9 @@ extern struct target_ops * inf_ptrace_trad_target (CORE_ADDR (*register_u_offset) (struct gdbarch *, int, int)); +/* Return which PID to pass to ptrace in order to observe/control the + tracee identified by PTID. */ + +extern pid_t get_ptrace_pid (ptid_t); + #endif |