From f5f473a9d0e8fdbede858fa1ef0d01d12142367b Mon Sep 17 00:00:00 2001 From: "Dmitry V. Levin" Date: Sat, 10 Feb 2018 23:19:32 +0000 Subject: [PATCH] linux/powerpc: sync sys/ptrace.h with Linux 4.15 [BZ #22433, #22807] Tested with strace. * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h (__ptrace_request): Add PTRACE_GETREGS, PTRACE_SETREGS, PTRACE_GETFPREGS, PTRACE_SETFPREGS, PTRACE_GETVRREGS, PTRACE_SETVRREGS, PTRACE_GETEVRREGS, PTRACE_SETEVRREGS, PTRACE_GETREGS64, PTRACE_SETREGS64, PTRACE_GET_DEBUGREG, PTRACE_SET_DEBUGREG, PTRACE_GETVSRREGS, PTRACE_SETVSRREGS, and PTRACE_SINGLEBLOCK. --- ChangeLog | 11 ++++ sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h | 62 ++++++++++++++++++++ 2 files changed, 73 insertions(+) diff --git a/ChangeLog b/ChangeLog index c5caa3fa8a..db0b451a20 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2018-02-26 Dmitry V. Levin + + [BZ #22433] + [BZ #22807] + * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h (__ptrace_request): Add + PTRACE_GETREGS, PTRACE_SETREGS, PTRACE_GETFPREGS, PTRACE_SETFPREGS, + PTRACE_GETVRREGS, PTRACE_SETVRREGS, PTRACE_GETEVRREGS, + PTRACE_SETEVRREGS, PTRACE_GETREGS64, PTRACE_SETREGS64, + PTRACE_GET_DEBUGREG, PTRACE_SET_DEBUGREG, PTRACE_GETVSRREGS, + PTRACE_SETVSRREGS, and PTRACE_SINGLEBLOCK. + 2018-02-26 Tulio Magno Quites Machado Filho * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Undefine Linux diff --git a/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h b/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h index 1c68895159..8317821ab5 100644 --- a/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h +++ b/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h @@ -112,6 +112,22 @@ enum __ptrace_request PTRACE_SINGLESTEP = 9, #define PT_STEP PTRACE_SINGLESTEP + /* Get all general purpose registers used by a process. */ + PTRACE_GETREGS = 12, +#define PT_GETREGS PTRACE_GETREGS + + /* Set all general purpose registers used by a process. */ + PTRACE_SETREGS = 13, +#define PT_SETREGS PTRACE_SETREGS + + /* Get all floating point registers used by a process. */ + PTRACE_GETFPREGS = 14, +#define PT_GETFPREGS PTRACE_GETFPREGS + + /* Set all floating point registers used by a process. */ + PTRACE_SETFPREGS = 15, +#define PT_SETFPREGS PTRACE_SETFPREGS + /* Attach to a process that is already running. */ PTRACE_ATTACH = 16, #define PT_ATTACH PTRACE_ATTACH @@ -120,10 +136,56 @@ enum __ptrace_request PTRACE_DETACH = 17, #define PT_DETACH PTRACE_DETACH + /* Get all altivec registers used by a process. */ + PTRACE_GETVRREGS = 18, +#define PT_GETVRREGS PTRACE_GETVRREGS + + /* Set all altivec registers used by a process. */ + PTRACE_SETVRREGS = 19, +#define PT_SETVRREGS PTRACE_SETVRREGS + + /* Get all SPE registers used by a process. */ + PTRACE_GETEVRREGS = 20, +#define PT_GETEVRREGS PTRACE_GETEVRREGS + + /* Set all SPE registers used by a process. */ + PTRACE_SETEVRREGS = 21, +#define PT_SETEVRREGS PTRACE_SETEVRREGS + + /* Same as PTRACE_GETREGS except a 32-bit process will obtain + the full 64-bit registers. Implemented by 64-bit kernels only. */ + PTRACE_GETREGS64 = 22, +#define PT_GETREGS64 PTRACE_GETREGS64 + + /* Same as PTRACE_SETREGS except a 32-bit process will set + the full 64-bit registers. Implemented by 64-bit kernels only. */ + PTRACE_SETREGS64 = 23, +#define PT_SETREGS64 PTRACE_SETREGS64 + /* Continue and stop at the next entry to or return from syscall. */ PTRACE_SYSCALL = 24, #define PT_SYSCALL PTRACE_SYSCALL + /* Get a debug register of a process. */ + PTRACE_GET_DEBUGREG = 25, +#define PT_GET_DEBUGREG PTRACE_GET_DEBUGREG + + /* Set a debug register of a process. */ + PTRACE_SET_DEBUGREG = 26, +#define PT_SET_DEBUGREG PTRACE_SET_DEBUGREG + + /* Get the first 32 VSX registers of a process. */ + PTRACE_GETVSRREGS = 27, +#define PT_GETVSRREGS PTRACE_GETVSRREGS + + /* Set the first 32 VSX registers of a process. */ + PTRACE_SETVSRREGS = 28, +#define PT_SETVSRREGS PTRACE_SETVSRREGS + + /* Execute process until next taken branch. */ + PTRACE_SINGLEBLOCK = 256, +#define PT_STEPBLOCK PTRACE_SINGLEBLOCK + /* Set ptrace filter options. */ PTRACE_SETOPTIONS = 0x4200, #define PT_SETOPTIONS PTRACE_SETOPTIONS