about summary refs log tree commit diff
path: root/arch/powerpc
diff options
context:
space:
mode:
authorSzabolcs Nagy <nsz@port70.net>2018-07-08 15:16:54 +0200
committerRich Felker <dalias@aerifal.cx>2018-07-17 22:25:08 -0400
commitdf6d9450ea19fd71e52cf5cdb4c85beb73066394 (patch)
tree34c80d0c750ec97ce092b1fb0cdf7251f133d16e /arch/powerpc
parent7ea32a8282b743bb1637b9e1da5f76dcd472a704 (diff)
downloadmusl-df6d9450ea19fd71e52cf5cdb4c85beb73066394.tar.gz
musl-df6d9450ea19fd71e52cf5cdb4c85beb73066394.tar.xz
musl-df6d9450ea19fd71e52cf5cdb4c85beb73066394.zip
add support for arch-specific ptrace command macros
sys/ptrace.h is target specific, use bits/ptrace.h to add target
specific macro definitions.

these macros are kept in the generic sys/ptrace.h even though some
targets don't support them:

PTRACE_GETREGS
PTRACE_SETREGS
PTRACE_GETFPREGS
PTRACE_SETFPREGS
PTRACE_GETFPXREGS
PTRACE_SETFPXREGS

so no macro definition got removed in this patch on any target. only
s390x has a numerically conflicting macro definition (PTRACE_SINGLEBLOCK).

the PT_ aliases follow glibc headers, otherwise the definitions come
from linux uapi headers except ones that are skipped in glibc and
there is no real kernel support (s390x PTRACE_*_AREA) or need special
type definitions (mips PTRACE_*_WATCH_*) or only relevant for linux
2.4 compatibility (PTRACE_OLDSETOPTIONS).
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/bits/ptrace.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/arch/powerpc/bits/ptrace.h b/arch/powerpc/bits/ptrace.h
new file mode 100644
index 00000000..75086ca0
--- /dev/null
+++ b/arch/powerpc/bits/ptrace.h
@@ -0,0 +1,23 @@
+#define PTRACE_GETVRREGS	0x12
+#define PTRACE_SETVRREGS	0x13
+#define PTRACE_GETEVRREGS	0x14
+#define PTRACE_SETEVRREGS	0x15
+#define PTRACE_GETREGS64	0x16
+#define PTRACE_SETREGS64	0x17
+#define PTRACE_GET_DEBUGREG	0x19
+#define PTRACE_SET_DEBUGREG	0x1a
+#define PTRACE_GETVSRREGS	0x1b
+#define PTRACE_SETVSRREGS	0x1c
+#define PTRACE_SINGLEBLOCK	0x100
+
+#define PT_GETVRREGS PTRACE_GETVRREGS
+#define PT_SETVRREGS PTRACE_SETVRREGS
+#define PT_GETEVRREGS PTRACE_GETEVRREGS
+#define PT_SETEVRREGS PTRACE_SETEVRREGS
+#define PT_GETREGS64 PTRACE_GETREGS64
+#define PT_SETREGS64 PTRACE_SETREGS64
+#define PT_GET_DEBUGREG PTRACE_GET_DEBUGREG
+#define PT_SET_DEBUGREG PTRACE_SET_DEBUGREG
+#define PT_GETVSRREGS PTRACE_GETVSRREGS
+#define PT_SETVSRREGS PTRACE_SETVSRREGS
+#define PT_STEPBLOCK PTRACE_SINGLEBLOCK