94 lines
2.0 KiB
Diff
94 lines
2.0 KiB
Diff
|
--- a/gdb/nat/ppc-linux.h
|
||
|
+++ b/gdb/nat/ppc-linux.h
|
||
|
@@ -18,7 +18,90 @@
|
||
|
#ifndef PPC_LINUX_H
|
||
|
#define PPC_LINUX_H 1
|
||
|
|
||
|
+#if defined(__GLIBC__) || defined(__UCLIBC__)
|
||
|
#include <asm/ptrace.h>
|
||
|
+#else // Musl
|
||
|
+// Do not include ptrace.h from Linux headers and since
|
||
|
+// Musl does not define PT_*, define them:
|
||
|
+
|
||
|
+#define PT_R0 0
|
||
|
+#define PT_R1 1
|
||
|
+#define PT_R2 2
|
||
|
+#define PT_R3 3
|
||
|
+#define PT_R4 4
|
||
|
+#define PT_R5 5
|
||
|
+#define PT_R6 6
|
||
|
+#define PT_R7 7
|
||
|
+#define PT_R8 8
|
||
|
+#define PT_R9 9
|
||
|
+#define PT_R10 10
|
||
|
+#define PT_R11 11
|
||
|
+#define PT_R12 12
|
||
|
+#define PT_R13 13
|
||
|
+#define PT_R14 14
|
||
|
+#define PT_R15 15
|
||
|
+#define PT_R16 16
|
||
|
+#define PT_R17 17
|
||
|
+#define PT_R18 18
|
||
|
+#define PT_R19 19
|
||
|
+#define PT_R20 20
|
||
|
+#define PT_R21 21
|
||
|
+#define PT_R22 22
|
||
|
+#define PT_R23 23
|
||
|
+#define PT_R24 24
|
||
|
+#define PT_R25 25
|
||
|
+#define PT_R26 26
|
||
|
+#define PT_R27 27
|
||
|
+#define PT_R28 28
|
||
|
+#define PT_R29 29
|
||
|
+#define PT_R30 30
|
||
|
+#define PT_R31 31
|
||
|
+
|
||
|
+#define PT_NIP 32
|
||
|
+#define PT_MSR 33
|
||
|
+#define PT_ORIG_R3 34
|
||
|
+#define PT_CTR 35
|
||
|
+#define PT_LNK 36
|
||
|
+#define PT_XER 37
|
||
|
+#define PT_CCR 38
|
||
|
+#ifndef __powerpc64__
|
||
|
+#define PT_MQ 39
|
||
|
+#else
|
||
|
+#define PT_SOFTE 39
|
||
|
+#endif
|
||
|
+#define PT_TRAP 40
|
||
|
+#define PT_DAR 41
|
||
|
+#define PT_DSISR 42
|
||
|
+#define PT_RESULT 43
|
||
|
+#define PT_DSCR 44
|
||
|
+#define PT_REGS_COUNT 44
|
||
|
+
|
||
|
+#define PT_FPR0 48 /* each FP reg occupies 2 slots in this space */
|
||
|
+
|
||
|
+#ifndef __powerpc64__
|
||
|
+
|
||
|
+#define PT_FPR31 (PT_FPR0 + 2*31)
|
||
|
+#define PT_FPSCR (PT_FPR0 + 2*32 + 1)
|
||
|
+
|
||
|
+#else /* __powerpc64__ */
|
||
|
+
|
||
|
+#define PT_FPSCR (PT_FPR0 + 32) /* each FP reg occupies 1 slot in 64-bit space */
|
||
|
+
|
||
|
+
|
||
|
+#define PT_VR0 82 /* each Vector reg occupies 2 slots in 64-bit */
|
||
|
+#define PT_VSCR (PT_VR0 + 32*2 + 1)
|
||
|
+#define PT_VRSAVE (PT_VR0 + 33*2)
|
||
|
+
|
||
|
+
|
||
|
+/*
|
||
|
+ * Only store first 32 VSRs here. The second 32 VSRs in VR0-31
|
||
|
+ */
|
||
|
+#define PT_VSR0 150 /* each VSR reg occupies 2 slots in 64-bit */
|
||
|
+#define PT_VSR31 (PT_VSR0 + 2*31)
|
||
|
+#endif /* __powerpc64__ */
|
||
|
+
|
||
|
+#endif // Libc
|
||
|
+
|
||
|
#include <asm/cputable.h>
|
||
|
|
||
|
/* This sometimes isn't defined. */
|