From 521c6785e1fc94d1f501743e9a40af9e02797df3 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Thu, 4 Jul 2013 09:45:12 +0200 Subject: Sync sys/ptrace with Linux 3.10 --- ChangeLog | 11 +++++++ ports/ChangeLog.aarch64 | 9 ++++++ ports/ChangeLog.ia64 | 8 +++++ ports/ChangeLog.tile | 9 ++++++ ports/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h | 21 +++++++++++- ports/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h | 21 +++++++++++- ports/sysdeps/unix/sysv/linux/tile/sys/ptrace.h | 37 +++++++++++++++++++++- sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h | 21 +++++++++++- sysdeps/unix/sysv/linux/s390/sys/ptrace.h | 21 +++++++++++- sysdeps/unix/sysv/linux/sparc/sys/ptrace.h | 22 +++++++++++-- sysdeps/unix/sysv/linux/sys/ptrace.h | 21 +++++++++++- 11 files changed, 193 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 985502fb6c..ffb1c158e7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2013-07-03 Andreas Jaeger + + * sysdeps/unix/sysv/linux/sys/ptrace.h (PTRACE_LISTEN): Add + define. + (PTRACE_PEEKSIGINFO): Add new value from Linux 3.10. + (ptrace_peeksiginfo_args): Add. + (__ptrace_peeksiginfo_flags): Add. + * sysdeps/unix/sysv/linux/sparc/sys/ptrace.h: Likewise. + * sysdeps/unix/sysv/linux/s390/sys/ptrace.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Likewise. + 2013-07-03 Allan McRae * sysdeps/i386/fpu/libm-test-ulps: Update. diff --git a/ports/ChangeLog.aarch64 b/ports/ChangeLog.aarch64 index 25276218e1..92af669f44 100644 --- a/ports/ChangeLog.aarch64 +++ b/ports/ChangeLog.aarch64 @@ -1,3 +1,12 @@ +2013-07-04 Andreas Jaeger + + For ChangeLog.aarch64: + * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h (PTRACE_LISTEN): + Add define. + (PTRACE_PEEKSIGINFO): Add new value from Linux 3.10. + (ptrace_peeksiginfo_args): Add. + (__ptrace_peeksiginfo_flags): Add. + 2013-06-28 Marcus Shawcroft * sysdeps/aarch64/dl-machine.h (elf_machine_dynamic): De-reference diff --git a/ports/ChangeLog.ia64 b/ports/ChangeLog.ia64 index 0189858fff..92b81cba93 100644 --- a/ports/ChangeLog.ia64 +++ b/ports/ChangeLog.ia64 @@ -1,3 +1,11 @@ +2013-07-04 Andreas Jaeger + + * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h (PTRACE_LISTEN): + Add define. + (PTRACE_PEEKSIGINFO): Add new value from Linux 3.10. + (ptrace_peeksiginfo_args): Add. + (__ptrace_peeksiginfo_flags): Add. + 2013-06-27 Maciej W. Rozycki * sysdeps/unix/sysv/linux/ia64/dl-static.c: Do not include diff --git a/ports/ChangeLog.tile b/ports/ChangeLog.tile index 978aad5f69..e5a92fc426 100644 --- a/ports/ChangeLog.tile +++ b/ports/ChangeLog.tile @@ -1,3 +1,12 @@ +2013-07-04 Andreas Jaeger + + * sysdeps/unix/sysv/linux/tile/sys/ptrace.h (PTRACE_PEEKSIGINFO): + Add new value from Linux 3.10. + (ptrace_peeksiginfo_args): Add. + (__ptrace_peeksiginfo_flags): Add. + (PTRACE_SETREGSET, PTRACE_SEIZE, PTRACE_INTERRUPT, PTRACE_LISTEN): + Add. + 2013-06-28 Chris Metcalf * sysdeps/tile/fegetenv.c: Delete now-redundant file. diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h b/ports/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h index 7c1e683656..71e1dec11b 100644 --- a/ports/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h +++ b/ports/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h @@ -21,6 +21,7 @@ #define _SYS_PTRACE_H 1 #include +#include __BEGIN_DECLS @@ -123,7 +124,11 @@ enum __ptrace_request #define PTRACE_INTERRUPT PTRACE_INTERRUPT /* Wait for next group event. */ - PTRACE_LISTEN = 0x4208 + PTRACE_LISTEN = 0x4208, +#define PTRACE_LISTEN PTRACE_LISTEN + + PTRACE_PEEKSIGINFO = 0x4209 +#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO }; @@ -159,6 +164,20 @@ enum __ptrace_eventcodes PTRACE_EVENT_SECCOMP = 7 }; +/* Arguments for PTRACE_PEEKSIGINFO. */ +struct ptrace_peeksiginfo_args +{ + __uint64_t off; /* From which siginfo to start. */ + __uint32_t flags; /* Flags for peeksiginfo. */ + __int32_t nr; /* How many siginfos to take. */ +}; + +enum __ptrace_peeksiginfo_flags +{ + /* Read signals from a shared (process wide) queue. */ + PTRACE_PEEKSIGINFO_SHARED = (1 << 0) +}; + /* Perform process tracing functions. REQUEST is one of the values above, and determines the action to be taken. For all requests except PTRACE_TRACEME, PID specifies the process to be diff --git a/ports/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h b/ports/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h index c18d314247..d6f390841f 100644 --- a/ports/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h +++ b/ports/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h @@ -21,6 +21,7 @@ #include #include +#include __BEGIN_DECLS @@ -128,7 +129,11 @@ enum __ptrace_request #define PTRACE_INTERRUPT PTRACE_INTERRUPT /* Wait for next group event. */ - PTRACE_LISTEN = 0x4208 + PTRACE_LISTEN = 0x4208, +#define PTRACE_LISTEN PTRACE_LISTEN + + PTRACE_PEEKSIGINFO = 0x4209 +#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO }; @@ -179,6 +184,20 @@ enum __ptrace_eventcodes PTRACE_EVENT_SECCOMP = 7 }; +/* Arguments for PTRACE_PEEKSIGINFO. */ +struct ptrace_peeksiginfo_args +{ + __uint64_t off; /* From which siginfo to start. */ + __uint32_t flags; /* Flags for peeksiginfo. */ + __int32_t nr; /* How many siginfos to take. */ +}; + +enum __ptrace_peeksiginfo_flags +{ + /* Read signals from a shared (process wide) queue. */ + PTRACE_PEEKSIGINFO_SHARED = (1 << 0) +}; + /* Perform process tracing functions. REQUEST is one of the values above, and determines the action to be taken. For all requests except PTRACE_TRACEME, PID specifies the process to be diff --git a/ports/sysdeps/unix/sysv/linux/tile/sys/ptrace.h b/ports/sysdeps/unix/sysv/linux/tile/sys/ptrace.h index 55d541dd79..5740dacfe4 100644 --- a/ports/sysdeps/unix/sysv/linux/tile/sys/ptrace.h +++ b/ports/sysdeps/unix/sysv/linux/tile/sys/ptrace.h @@ -20,6 +20,7 @@ #define _SYS_PTRACE_H 1 #include +#include __BEGIN_DECLS @@ -101,8 +102,28 @@ enum __ptrace_request #define PT_GETSIGINFO PTRACE_GETSIGINFO /* Set new siginfo for process. */ - PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGINFO = 0x4203, #define PT_SETSIGINFO PTRACE_SETSIGINFO + + /* Set register content. */ + PTRACE_SETREGSET = 0x4205, +#define PTRACE_SETREGSET PTRACE_SETREGSET + + /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect + signal or group stop state. */ + PTRACE_SEIZE = 0x4206, +#define PTRACE_SEIZE PTRACE_SEIZE + + /* Trap seized tracee. */ + PTRACE_INTERRUPT = 0x4207, +#define PTRACE_INTERRUPT PTRACE_INTERRUPT + + /* Wait for next group event. */ + PTRACE_LISTEN = 0x4208, +#define PTRACE_LISTEN PTRACE_LISTEN + + PTRACE_PEEKSIGINFO = 0x4209 +#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO }; @@ -132,6 +153,20 @@ enum __ptrace_eventcodes PTRACE_EVENT_SECCOMP = 7 }; +/* Arguments for PTRACE_PEEKSIGINFO. */ +struct ptrace_peeksiginfo_args +{ + __uint64_t off; /* From which siginfo to start. */ + __uint32_t flags; /* Flags for peeksiginfo. */ + __int32_t nr; /* How many siginfos to take. */ +}; + +enum __ptrace_peeksiginfo_flags +{ + /* Read signals from a shared (process wide) queue. */ + PTRACE_PEEKSIGINFO_SHARED = (1 << 0) +} + /* Perform process tracing functions. REQUEST is one of the values above, and determines the action to be taken. For all requests except PTRACE_TRACEME, PID specifies the process to be diff --git a/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h b/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h index e6e916b0f2..2104a2d9bd 100644 --- a/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h +++ b/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h @@ -20,6 +20,7 @@ #define _SYS_PTRACE_H 1 #include +#include __BEGIN_DECLS @@ -115,7 +116,11 @@ enum __ptrace_request #define PTRACE_INTERRUPT PTRACE_INTERRUPT /* Wait for next group event. */ - PTRACE_LISTEN = 0x4208 + PTRACE_LISTEN = 0x4208, +#define PTRACE_LISTEN PTRACE_LISTEN + + PTRACE_PEEKSIGINFO = 0x4209 +#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO }; @@ -152,6 +157,20 @@ enum __ptrace_eventcodes PTRACE_EVENT_SECCOMP = 7 }; +/* Arguments for PTRACE_PEEKSIGINFO. */ +struct ptrace_peeksiginfo_args +{ + __uint64_t off; /* From which siginfo to start. */ + __uint32_t flags; /* Flags for peeksiginfo. */ + __int32_t nr; /* How many siginfos to take. */ +}; + +enum __ptrace_peeksiginfo_flags +{ + /* Read signals from a shared (process wide) queue. */ + PTRACE_PEEKSIGINFO_SHARED = (1 << 0) +}; + /* Perform process tracing functions. REQUEST is one of the values above, and determines the action to be taken. For all requests except PTRACE_TRACEME, PID specifies the process to be diff --git a/sysdeps/unix/sysv/linux/s390/sys/ptrace.h b/sysdeps/unix/sysv/linux/s390/sys/ptrace.h index ca2ebb9590..e7f7b22cc8 100644 --- a/sysdeps/unix/sysv/linux/s390/sys/ptrace.h +++ b/sysdeps/unix/sysv/linux/s390/sys/ptrace.h @@ -21,6 +21,7 @@ #define _SYS_PTRACE_H 1 #include +#include __BEGIN_DECLS #ifdef _LINUX_PTRACE_H @@ -154,7 +155,11 @@ enum __ptrace_request #define PTRACE_INTERRUPT PTRACE_INTERRUPT /* Wait for next group event. */ - PTRACE_LISTEN = 0x4208 + PTRACE_LISTEN = 0x4208, +#define PTRACE_LISTEN PTRACE_LISTEN + + PTRACE_PEEKSIGINFO = 0x4209 +#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO }; @@ -191,6 +196,20 @@ enum __ptrace_eventcodes PTRACE_EVENT_SECCOMP = 7 }; +/* Arguments for PTRACE_PEEKSIGINFO. */ +struct ptrace_peeksiginfo_args +{ + __uint64_t off; /* From which siginfo to start. */ + __uint32_t flags; /* Flags for peeksiginfo. */ + __int32_t nr; /* How many siginfos to take. */ +}; + +enum __ptrace_peeksiginfo_flags +{ + /* Read signals from a shared (process wide) queue. */ + PTRACE_PEEKSIGINFO_SHARED = (1 << 0) +}; + /* Perform process tracing functions. REQUEST is one of the values above, and determines the action to be taken. For all requests except PTRACE_TRACEME, PID specifies the process to be diff --git a/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h b/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h index 7ba8f5f254..7543fa7c6a 100644 --- a/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h +++ b/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h @@ -20,7 +20,7 @@ #define _SYS_PTRACE_H 1 #include - +#include #include /* Linux/SPARC kernels up to 2.3.18 do not care much @@ -198,7 +198,11 @@ enum __ptrace_request #define PTRACE_INTERRUPT PTRACE_INTERRUPT /* Wait for next group event. */ - PTRACE_LISTEN = 0x4208 + PTRACE_LISTEN = 0x4208, +#define PTRACE_LISTEN PTRACE_LISTEN + + PTRACE_PEEKSIGINFO = 0x4209 +#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO }; @@ -235,6 +239,20 @@ enum __ptrace_eventcodes PTRACE_EVENT_SECCOMP = 7 }; +/* Arguments for PTRACE_PEEKSIGINFO. */ +struct ptrace_peeksiginfo_args +{ + __uint64_t off; /* From which siginfo to start. */ + __uint32_t flags; /* Flags for peeksiginfo. */ + __int32_t nr; /* How many siginfos to take. */ +}; + +enum __ptrace_peeksiginfo_flags +{ + /* Read signals from a shared (process wide) queue. */ + PTRACE_PEEKSIGINFO_SHARED = (1 << 0) +}; + /* Perform process tracing functions. REQUEST is one of the values above, and determines the action to be taken. For all requests except PTRACE_TRACEME, PID specifies the process to be diff --git a/sysdeps/unix/sysv/linux/sys/ptrace.h b/sysdeps/unix/sysv/linux/sys/ptrace.h index 08709bf64c..2b78565db1 100644 --- a/sysdeps/unix/sysv/linux/sys/ptrace.h +++ b/sysdeps/unix/sysv/linux/sys/ptrace.h @@ -20,6 +20,7 @@ #define _SYS_PTRACE_H 1 #include +#include __BEGIN_DECLS @@ -145,7 +146,11 @@ enum __ptrace_request #define PTRACE_INTERRUPT PTRACE_INTERRUPT /* Wait for next group event. */ - PTRACE_LISTEN = 0x4208 + PTRACE_LISTEN = 0x4208, +#define PTRACE_LISTEN PTRACE_LISTEN + + PTRACE_PEEKSIGINFO = 0x4209 +#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO }; @@ -182,6 +187,20 @@ enum __ptrace_eventcodes PTRAVE_EVENT_SECCOMP = 7 }; +/* Arguments for PTRACE_PEEKSIGINFO. */ +struct ptrace_peeksiginfo_args +{ + __uint64_t off; /* From which siginfo to start. */ + __uint32_t flags; /* Flags for peeksiginfo. */ + __int32_t nr; /* How many siginfos to take. */ +}; + +enum __ptrace_peeksiginfo_flags +{ + /* Read signals from a shared (process wide) queue. */ + PTRACE_PEEKSIGINFO_SHARED = (1 << 0) +}; + /* Perform process tracing functions. REQUEST is one of the values above, and determines the action to be taken. For all requests except PTRACE_TRACEME, PID specifies the process to be -- cgit 1.4.1