aboutsummaryrefslogtreecommitdiff
path: root/sys/sys/ptrace.h
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2017-06-29 21:31:13 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2017-06-29 21:31:13 +0000
commit51645e836d19f28ac10bbb2281199065931f9324 (patch)
treed1218afb4ae6b8b11c8d3dde43b1dca3e45a4092 /sys/sys/ptrace.h
parent98c9236978c437d5a0c7fdc8d181a3913abdae4c (diff)
downloadsrc-51645e836d19f28ac10bbb2281199065931f9324.tar.gz
src-51645e836d19f28ac10bbb2281199065931f9324.zip
Store a 32-bit PT_LWPINFO struct for 32-bit process core dumps.
Process core notes for a 32-bit process running on a 64-bit host need to use 32-bit structures so that the note layout matches the layout of notes of a core dump of a 32-bit process under a 32-bit kernel. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D11407
Notes
Notes: svn path=/head/; revision=320481
Diffstat (limited to 'sys/sys/ptrace.h')
-rw-r--r--sys/sys/ptrace.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/sys/sys/ptrace.h b/sys/sys/ptrace.h
index 903d9d83ee13..6ae46b246b7c 100644
--- a/sys/sys/ptrace.h
+++ b/sys/sys/ptrace.h
@@ -138,6 +138,21 @@ struct ptrace_lwpinfo {
u_int pl_syscall_narg;
};
+#if defined(_WANT_LWPINFO32) || (defined(_KERNEL) && defined(__LP64__))
+struct ptrace_lwpinfo32 {
+ lwpid_t pl_lwpid; /* LWP described. */
+ int pl_event; /* Event that stopped the LWP. */
+ int pl_flags; /* LWP flags. */
+ sigset_t pl_sigmask; /* LWP signal mask */
+ sigset_t pl_siglist; /* LWP pending signal */
+ struct siginfo32 pl_siginfo; /* siginfo for signal */
+ char pl_tdname[MAXCOMLEN + 1]; /* LWP name. */
+ pid_t pl_child_pid; /* New child pid */
+ u_int pl_syscall_code;
+ u_int pl_syscall_narg;
+};
+#endif
+
/* Argument structure for PT_VM_ENTRY. */
struct ptrace_vm_entry {
int pve_entry; /* Entry number used for iteration. */