ppc-musl.patch (2023B)
1 --- a/nat/ppc-linux.h 2 +++ b/nat/ppc-linux.h 3 @@ -18,7 +18,90 @@ 4 #ifndef PPC_LINUX_H 5 #define PPC_LINUX_H 1 6 7 +#if defined(__GLIBC__) || defined(__UCLIBC__) 8 #include <asm/ptrace.h> 9 +#else // Musl 10 +// Do not include ptrace.h from Linux headers and since 11 +// Musl does not define PT_*, define them: 12 + 13 +#define PT_R0 0 14 +#define PT_R1 1 15 +#define PT_R2 2 16 +#define PT_R3 3 17 +#define PT_R4 4 18 +#define PT_R5 5 19 +#define PT_R6 6 20 +#define PT_R7 7 21 +#define PT_R8 8 22 +#define PT_R9 9 23 +#define PT_R10 10 24 +#define PT_R11 11 25 +#define PT_R12 12 26 +#define PT_R13 13 27 +#define PT_R14 14 28 +#define PT_R15 15 29 +#define PT_R16 16 30 +#define PT_R17 17 31 +#define PT_R18 18 32 +#define PT_R19 19 33 +#define PT_R20 20 34 +#define PT_R21 21 35 +#define PT_R22 22 36 +#define PT_R23 23 37 +#define PT_R24 24 38 +#define PT_R25 25 39 +#define PT_R26 26 40 +#define PT_R27 27 41 +#define PT_R28 28 42 +#define PT_R29 29 43 +#define PT_R30 30 44 +#define PT_R31 31 45 + 46 +#define PT_NIP 32 47 +#define PT_MSR 33 48 +#define PT_ORIG_R3 34 49 +#define PT_CTR 35 50 +#define PT_LNK 36 51 +#define PT_XER 37 52 +#define PT_CCR 38 53 +#ifndef __powerpc64__ 54 +#define PT_MQ 39 55 +#else 56 +#define PT_SOFTE 39 57 +#endif 58 +#define PT_TRAP 40 59 +#define PT_DAR 41 60 +#define PT_DSISR 42 61 +#define PT_RESULT 43 62 +#define PT_DSCR 44 63 +#define PT_REGS_COUNT 44 64 + 65 +#define PT_FPR0 48 /* each FP reg occupies 2 slots in this space */ 66 + 67 +#ifndef __powerpc64__ 68 + 69 +#define PT_FPR31 (PT_FPR0 + 2*31) 70 +#define PT_FPSCR (PT_FPR0 + 2*32 + 1) 71 + 72 +#else /* __powerpc64__ */ 73 + 74 +#define PT_FPSCR (PT_FPR0 + 32) /* each FP reg occupies 1 slot in 64-bit space */ 75 + 76 + 77 +#define PT_VR0 82 /* each Vector reg occupies 2 slots in 64-bit */ 78 +#define PT_VSCR (PT_VR0 + 32*2 + 1) 79 +#define PT_VRSAVE (PT_VR0 + 33*2) 80 + 81 + 82 +/* 83 + * Only store first 32 VSRs here. The second 32 VSRs in VR0-31 84 + */ 85 +#define PT_VSR0 150 /* each VSR reg occupies 2 slots in 64-bit */ 86 +#define PT_VSR31 (PT_VSR0 + 2*31) 87 +#endif /* __powerpc64__ */ 88 + 89 +#endif // Libc 90 + 91 #include <asm/cputable.h> 92 93 /* This sometimes isn't defined. */