Add more ptrace constants for AArch64 and PowerPC.

Linux 5.10 adds PTRACE_PEEKMTETAGS and PTRACE_POKEMTETAGS for AArch64.
Adding those shows up that glibc is also missing PTRACE_SYSEMU and
PTRACE_SYSEMU_SINGLESTEP, for AArch64 (where they were added to Linux
in 5.3) and for PowerPC (where they were added in Linux 4.20); it
already has those two defines for x86.  Add all those defines to
glibc's headers.

Tested with build-many-glibcs.py for aarch64-linux-gnu and
powerpc-linux-gnu.
This commit is contained in:
Joseph Myers 2021-02-08 22:47:04 +00:00
parent a00e2fe3df
commit 0ff786226c
2 changed files with 26 additions and 0 deletions

View File

@ -82,6 +82,22 @@ enum __ptrace_request
PTRACE_SYSCALL = 24, PTRACE_SYSCALL = 24,
#define PT_SYSCALL PTRACE_SYSCALL #define PT_SYSCALL PTRACE_SYSCALL
/* Continue and stop at the next syscall, it will not be executed. */
PTRACE_SYSEMU = 31,
#define PT_SYSEMU PTRACE_SYSEMU
/* Single step the process, the next syscall will not be executed. */
PTRACE_SYSEMU_SINGLESTEP = 32,
#define PT_SYSEMU_SINGLESTEP PTRACE_SYSEMU_SINGLESTEP
/* Read MTE tags. */
PTRACE_PEEKMTETAGS = 33,
#define PT_PEEKMTETAGS PTRACE_PEEKMTETAGS
/* Write MTE tags. */
PTRACE_POKEMTETAGS = 34,
#define PT_POKEMTETAGS PTRACE_POKEMTETAGS
/* Set ptrace filter options. */ /* Set ptrace filter options. */
PTRACE_SETOPTIONS = 0x4200, PTRACE_SETOPTIONS = 0x4200,
#define PT_SETOPTIONS PTRACE_SETOPTIONS #define PT_SETOPTIONS PTRACE_SETOPTIONS

View File

@ -70,6 +70,8 @@ __BEGIN_DECLS
# undef PTRACE_SYSCALL_INFO_ENTRY # undef PTRACE_SYSCALL_INFO_ENTRY
# undef PTRACE_SYSCALL_INFO_EXIT # undef PTRACE_SYSCALL_INFO_EXIT
# undef PTRACE_SYSCALL_INFO_SECCOMP # undef PTRACE_SYSCALL_INFO_SECCOMP
# undef PTRACE_SYSEMU
# undef PTRACE_SYSEMU_SINGLESTEP
# undef PTRACE_TRACEME # undef PTRACE_TRACEME
#endif #endif
@ -188,6 +190,14 @@ enum __ptrace_request
PTRACE_SETVSRREGS = 28, PTRACE_SETVSRREGS = 28,
#define PT_SETVSRREGS PTRACE_SETVSRREGS #define PT_SETVSRREGS PTRACE_SETVSRREGS
/* Continue and stop at the next syscall, it will not be executed. */
PTRACE_SYSEMU = 29,
#define PT_SYSEMU PTRACE_SYSEMU
/* Single step the process, the next syscall will not be executed. */
PTRACE_SYSEMU_SINGLESTEP = 30,
#define PT_SYSEMU_SINGLESTEP PTRACE_SYSEMU_SINGLESTEP
/* Execute process until next taken branch. */ /* Execute process until next taken branch. */
PTRACE_SINGLEBLOCK = 256, PTRACE_SINGLEBLOCK = 256,
#define PT_STEPBLOCK PTRACE_SINGLEBLOCK #define PT_STEPBLOCK PTRACE_SINGLEBLOCK