This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH] Add Linux PTRACE_EVENT_STOP
- From: Kir Kolyshkin <kir at openvz dot org>
- To: libc-alpha at sourceware dot org
- Cc: Kir Kolyshkin <kir at openvz dot org>
- Date: Tue, 7 Feb 2017 00:06:05 -0800
- Subject: [PATCH] Add Linux PTRACE_EVENT_STOP
- Authentication-results: sourceware.org; auth=none
Add PTRACE_EVENT_STOP value to Linux's sys/ptrace.h, modify related
comments accordingly.
This constant initially appeared in Linux 3.1 (kernel commit 3544d72a,
"ptrace: implement PTRACE_SEIZE") but its value has changed later
in Linux 3.4 (kernel commit 5cdf389a, "ptrace: renumber
PTRACE_EVENT_STOP so that future new options and events can match").
The comment is also taken from the above commit.
This constant is used by e.g. strace, CRIU, Mozilla RR.
2017-02-06 Kir Kolyshkin <kir@openvz.org>
* sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h: Add PTRACE_EVENT_STOP.
* sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Likewise.
* sysdeps/unix/sysv/linux/s390/sys/ptrace.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/sys/ptrace.h: Likewise.
* sysdeps/unix/sysv/linux/sys/ptrace.h: Likewise.
* sysdeps/unix/sysv/linux/tile/sys/ptrace.h: Likewise.
---
sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h | 6 ++++--
sysdeps/unix/sysv/linux/ia64/sys/ptrace.h | 6 ++++--
sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h | 6 ++++--
sysdeps/unix/sysv/linux/s390/sys/ptrace.h | 6 ++++--
sysdeps/unix/sysv/linux/sparc/sys/ptrace.h | 6 ++++--
sysdeps/unix/sysv/linux/sys/ptrace.h | 6 ++++--
sysdeps/unix/sysv/linux/tile/sys/ptrace.h | 6 ++++--
7 files changed, 28 insertions(+), 14 deletions(-)
diff --git a/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h b/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h
index 922346c..c8ca9e3 100644
--- a/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h
+++ b/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h
@@ -163,16 +163,18 @@ enum __ptrace_setoptions
PTRACE_O_MASK = 0x003000ff
};
-/* Wait extended result codes for the above trace options. */
enum __ptrace_eventcodes
{
+/* Wait extended result codes for the above trace options. */
PTRACE_EVENT_FORK = 1,
PTRACE_EVENT_VFORK = 2,
PTRACE_EVENT_CLONE = 3,
PTRACE_EVENT_EXEC = 4,
PTRACE_EVENT_VFORK_DONE = 5,
PTRACE_EVENT_EXIT = 6,
- PTRACE_EVENT_SECCOMP = 7
+ PTRACE_EVENT_SECCOMP = 7,
+/* Extended result codes enabled by means other than options. */
+ PTRACE_EVENT_STOP = 128
};
/* Arguments for PTRACE_PEEKSIGINFO. */
diff --git a/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h b/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h
index 47f1aad..c77e6dc 100644
--- a/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h
+++ b/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h
@@ -183,16 +183,18 @@ enum __ptrace_setoptions
PTRACE_O_MASK = 0x003000ff
};
-/* Wait extended result codes for the above trace options. */
enum __ptrace_eventcodes
{
+/* Wait extended result codes for the above trace options. */
PTRACE_EVENT_FORK = 1,
PTRACE_EVENT_VFORK = 2,
PTRACE_EVENT_CLONE = 3,
PTRACE_EVENT_EXEC = 4,
PTRACE_EVENT_VFORK_DONE = 5,
PTRACE_EVENT_EXIT = 6,
- PTRACE_EVENT_SECCOMP = 7
+ PTRACE_EVENT_SECCOMP = 7,
+/* Extended result codes enabled by means other than options. */
+ PTRACE_EVENT_STOP = 128
};
/* Arguments for PTRACE_PEEKSIGINFO. */
diff --git a/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h b/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h
index cf32fa3..ed1ed63 100644
--- a/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h
+++ b/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h
@@ -155,16 +155,18 @@ enum __ptrace_setoptions
PTRACE_O_MASK = 0x003000ff
};
-/* Wait extended result codes for the above trace options. */
enum __ptrace_eventcodes
{
+/* Wait extended result codes for the above trace options. */
PTRACE_EVENT_FORK = 1,
PTRACE_EVENT_VFORK = 2,
PTRACE_EVENT_CLONE = 3,
PTRACE_EVENT_EXEC = 4,
PTRACE_EVENT_VFORK_DONE = 5,
PTRACE_EVENT_EXIT = 6,
- PTRACE_EVENT_SECCOMP = 7
+ PTRACE_EVENT_SECCOMP = 7,
+/* Extended result codes enabled by means other than options. */
+ PTRACE_EVENT_STOP = 128
};
/* Arguments for PTRACE_PEEKSIGINFO. */
diff --git a/sysdeps/unix/sysv/linux/s390/sys/ptrace.h b/sysdeps/unix/sysv/linux/s390/sys/ptrace.h
index 60e8cec..7caf101 100644
--- a/sysdeps/unix/sysv/linux/s390/sys/ptrace.h
+++ b/sysdeps/unix/sysv/linux/s390/sys/ptrace.h
@@ -194,16 +194,18 @@ enum __ptrace_setoptions
PTRACE_O_MASK = 0x003000ff
};
-/* Wait extended result codes for the above trace options. */
enum __ptrace_eventcodes
{
+/* Wait extended result codes for the above trace options. */
PTRACE_EVENT_FORK = 1,
PTRACE_EVENT_VFORK = 2,
PTRACE_EVENT_CLONE = 3,
PTRACE_EVENT_EXEC = 4,
PTRACE_EVENT_VFORK_DONE = 5,
PTRACE_EVENT_EXIT = 6,
- PTRACE_EVENT_SECCOMP = 7
+ PTRACE_EVENT_SECCOMP = 7,
+/* Extended result codes enabled by means other than options. */
+ PTRACE_EVENT_STOP = 128
};
/* Arguments for PTRACE_PEEKSIGINFO. */
diff --git a/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h b/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h
index 1c07f36..f605494 100644
--- a/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h
+++ b/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h
@@ -237,16 +237,18 @@ enum __ptrace_setoptions
PTRACE_O_MASK = 0x003000ff
};
-/* Wait extended result codes for the above trace options. */
enum __ptrace_eventcodes
{
+/* Wait extended result codes for the above trace options. */
PTRACE_EVENT_FORK = 1,
PTRACE_EVENT_VFORK = 2,
PTRACE_EVENT_CLONE = 3,
PTRACE_EVENT_EXEC = 4,
PTRACE_EVENT_VFORK_DONE = 5,
PTRACE_EVENT_EXIT = 6,
- PTRACE_EVENT_SECCOMP = 7
+ PTRACE_EVENT_SECCOMP = 7,
+/* Extended result codes enabled by means other than options. */
+ PTRACE_EVENT_STOP = 128
};
/* Arguments for PTRACE_PEEKSIGINFO. */
diff --git a/sysdeps/unix/sysv/linux/sys/ptrace.h b/sysdeps/unix/sysv/linux/sys/ptrace.h
index 6900eef..1daadd1 100644
--- a/sysdeps/unix/sysv/linux/sys/ptrace.h
+++ b/sysdeps/unix/sysv/linux/sys/ptrace.h
@@ -185,16 +185,18 @@ enum __ptrace_setoptions
PTRACE_O_MASK = 0x003000ff
};
-/* Wait extended result codes for the above trace options. */
enum __ptrace_eventcodes
{
+/* Wait extended result codes for the above trace options. */
PTRACE_EVENT_FORK = 1,
PTRACE_EVENT_VFORK = 2,
PTRACE_EVENT_CLONE = 3,
PTRACE_EVENT_EXEC = 4,
PTRACE_EVENT_VFORK_DONE = 5,
PTRACE_EVENT_EXIT = 6,
- PTRACE_EVENT_SECCOMP = 7
+ PTRACE_EVENT_SECCOMP = 7,
+/* Extended result codes enabled by means other than options. */
+ PTRACE_EVENT_STOP = 128
};
/* Arguments for PTRACE_PEEKSIGINFO. */
diff --git a/sysdeps/unix/sysv/linux/tile/sys/ptrace.h b/sysdeps/unix/sysv/linux/tile/sys/ptrace.h
index a710ee9..6287e42 100644
--- a/sysdeps/unix/sysv/linux/tile/sys/ptrace.h
+++ b/sysdeps/unix/sysv/linux/tile/sys/ptrace.h
@@ -152,16 +152,18 @@ enum __ptrace_setoptions
PTRACE_O_MASK = 0x003000ff
};
-/* Wait extended result codes for the above trace options. */
enum __ptrace_eventcodes
{
+/* Wait extended result codes for the above trace options. */
PTRACE_EVENT_FORK = 1,
PTRACE_EVENT_VFORK = 2,
PTRACE_EVENT_CLONE = 3,
PTRACE_EVENT_EXEC = 4,
PTRACE_EVENT_VFORK_DONE = 5,
PTRACE_EVENT_EXIT = 6,
- PTRACE_EVENT_SECCOMP = 7
+ PTRACE_EVENT_SECCOMP = 7,
+/* Extended result codes enabled by means other than options. */
+ PTRACE_EVENT_STOP = 128
};
/* Arguments for PTRACE_PEEKSIGINFO. */
--
2.9.3