From 095f08480972b143dcb5f443fc569c4f91195273 Mon Sep 17 00:00:00 2001 From: q66 Date: Mon, 28 Oct 2019 22:07:30 +0100 Subject: [PATCH 1/5] gdb: drop unnecessary musl/ppc patches --- srcpkgs/gdb/patches/ppc-musl.patch | 93 ---------------------------- srcpkgs/gdb/patches/ppc-ptregs.patch | 10 --- 2 files changed, 103 deletions(-) delete mode 100644 srcpkgs/gdb/patches/ppc-musl.patch delete mode 100644 srcpkgs/gdb/patches/ppc-ptregs.patch diff --git a/srcpkgs/gdb/patches/ppc-musl.patch b/srcpkgs/gdb/patches/ppc-musl.patch deleted file mode 100644 index 70cfa18e479..00000000000 --- a/srcpkgs/gdb/patches/ppc-musl.patch +++ /dev/null @@ -1,93 +0,0 @@ ---- 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 -+#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 - - /* This sometimes isn't defined. */ diff --git a/srcpkgs/gdb/patches/ppc-ptregs.patch b/srcpkgs/gdb/patches/ppc-ptregs.patch deleted file mode 100644 index 743bd2e6d26..00000000000 --- a/srcpkgs/gdb/patches/ppc-ptregs.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/gdb/gdbserver/linux-ppc-low.c -+++ b/gdb/gdbserver/linux-ppc-low.c -@@ -21,7 +21,6 @@ - #include "linux-low.h" - - #include --#include - - #include "nat/ppc-linux.h" - #include "linux-ppc-tdesc.h" From e285a1a9d356d106cc7c0ba67bc325002d877453 Mon Sep 17 00:00:00 2001 From: q66 Date: Mon, 28 Oct 2019 22:08:01 +0100 Subject: [PATCH 2/5] strace: drop unnecessary musl/ppc patch --- srcpkgs/strace/patches/ppc-musl.patch | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 srcpkgs/strace/patches/ppc-musl.patch diff --git a/srcpkgs/strace/patches/ppc-musl.patch b/srcpkgs/strace/patches/ppc-musl.patch deleted file mode 100644 index 511153f9293..00000000000 --- a/srcpkgs/strace/patches/ppc-musl.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- regs.h -+++ regs.h -@@ -8,7 +8,13 @@ - #ifndef STRACE_REGS_H - # define STRACE_REGS_H - -+#if !defined(__GLIBC__) && defined(__powerpc__) -+# define pt_regs musl_pt_regs - # include -+# undef pt_regs -+#else -+# include -+#endif - # include "arch_regs.h" - - #endif /* !STRACE_REGS_H */ From 4f2cc811582b24e34fc55773fc584141e9d7565e Mon Sep 17 00:00:00 2001 From: q66 Date: Mon, 28 Oct 2019 22:12:02 +0100 Subject: [PATCH 3/5] psmisc: drop unnecessary musl/ppc patch --- srcpkgs/psmisc/patches/ppc-musl.patch | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 srcpkgs/psmisc/patches/ppc-musl.patch diff --git a/srcpkgs/psmisc/patches/ppc-musl.patch b/srcpkgs/psmisc/patches/ppc-musl.patch deleted file mode 100644 index bd573f06c1d..00000000000 --- a/srcpkgs/psmisc/patches/ppc-musl.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- src/peekfd.c 2018-08-13 13:24:56.871341954 +0200 -+++ src/peekfd.c 2019-01-12 21:44:15.913496261 +0100 -@@ -30,7 +30,9 @@ - #include - #include - #include -+#if !defined(PPC) || defined(__GLIBC__) - #include -+#endif - #include - #include - #include From db53b8ca65df44b2953c526e8ebbfd1a3a60a0a9 Mon Sep 17 00:00:00 2001 From: q66 Date: Mon, 28 Oct 2019 22:17:34 +0100 Subject: [PATCH 4/5] libunwind: drop unnecessary parts of the musl/ppc64 patch --- srcpkgs/libunwind/patches/ppc64-musl.patch | 103 --------------------- 1 file changed, 103 deletions(-) diff --git a/srcpkgs/libunwind/patches/ppc64-musl.patch b/srcpkgs/libunwind/patches/ppc64-musl.patch index d16cb737a83..1ff08338d33 100644 --- a/srcpkgs/libunwind/patches/ppc64-musl.patch +++ b/srcpkgs/libunwind/patches/ppc64-musl.patch @@ -1,106 +1,3 @@ ---- src/ppc64/Ginit.c -+++ src/ppc64/Ginit.c -@@ -51,7 +51,7 @@ uc_addr (ucontext_t *uc, int reg) - addr = &uc->uc_mcontext.gp_regs[reg - UNW_PPC64_R0]; - - else if ((unsigned) (reg - UNW_PPC64_F0) < 32) -- addr = &uc->uc_mcontext.fp_regs[reg - UNW_PPC64_F0]; -+ addr = &(((double *)&uc->uc_mcontext.fp_regs)[reg - UNW_PPC64_F0]); - - else if ((unsigned) (reg - UNW_PPC64_V0) < 32) - addr = (uc->uc_mcontext.v_regs == 0) ? NULL : &uc->uc_mcontext.v_regs->vrregs[reg - UNW_PPC64_V0][0]; ---- src/ppc64/ucontext_i.h -+++ src/ppc64/ucontext_i.h -@@ -99,39 +99,39 @@ static vrregset_t dmy_vrregset; - #define UC_MCONTEXT_GREGS_DSISR ((void *)&dmy_ctxt.uc_mcontext.gp_regs[DSISR_IDX] - (void *)&dmy_ctxt) - #define UC_MCONTEXT_GREGS_RESULT ((void *)&dmy_ctxt.uc_mcontext.gp_regs[RESULT_IDX] - (void *)&dmy_ctxt) - --#define UC_MCONTEXT_FREGS_R0 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[0] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R1 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[1] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R2 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[2] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R3 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[3] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R4 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[4] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R5 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[5] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R6 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[6] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R7 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[7] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R8 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[8] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R9 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[9] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R10 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[10] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R11 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[11] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R12 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[12] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R13 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[13] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R14 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[14] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R15 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[15] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R16 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[16] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R17 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[17] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R18 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[18] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R19 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[19] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R20 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[20] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R21 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[21] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R22 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[22] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R23 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[23] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R24 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[24] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R25 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[25] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R26 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[26] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R27 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[27] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R28 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[28] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R29 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[29] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R30 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[30] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_R31 ((void *)&dmy_ctxt.uc_mcontext.fp_regs[31] - (void *)&dmy_ctxt) --#define UC_MCONTEXT_FREGS_FPSCR ((void *)&dmy_ctxt.uc_mcontext.fp_regs[32] - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R0 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[0]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R1 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[1]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R2 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[2]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R3 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[3]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R4 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[4]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R5 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[5]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R6 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[6]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R7 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[7]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R8 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[8]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R9 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[9]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R10 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[10]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R11 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[11]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R12 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[12]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R13 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[13]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R14 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[14]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R15 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[15]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R16 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[16]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R17 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[17]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R18 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[18]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R19 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[19]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R20 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[20]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R21 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[21]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R22 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[22]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R23 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[23]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R24 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[24]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R25 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[25]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R26 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[26]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R27 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[27]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R28 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[28]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R29 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[29]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R30 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[30]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_R31 ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[31]) - (void *)&dmy_ctxt) -+#define UC_MCONTEXT_FREGS_FPSCR ((void *)&(((double *)&dmy_ctxt.uc_mcontext.fp_regs)[32]) - (void *)&dmy_ctxt) - - #define UC_MCONTEXT_V_REGS ((void *)&dmy_ctxt.uc_mcontext.v_regs - (void *)&dmy_ctxt) - ---- src/ptrace/_UPT_internal.h -+++ src/ptrace/_UPT_internal.h -@@ -37,7 +37,14 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ - #include - #endif - #ifdef HAVE_SYS_PROCFS_H -+#if !defined(__GLIBC__) && defined(__powerpc__) -+/* nasty hack to prevent conflict with asm/ptrace.h */ -+#define pt_regs musl_pt_regs - #include -+#undef pt_regs -+#else -+#include -+#endif - #endif - - #include --- src/ptrace/_UPT_reg_offset.c +++ src/ptrace/_UPT_reg_offset.c @@ -32,6 +32,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ From 2b1049c334f623a6659b1c7a7f210acc8ee5967e Mon Sep 17 00:00:00 2001 From: q66 Date: Mon, 28 Oct 2019 22:51:40 +0100 Subject: [PATCH 5/5] ocaml: drop unnecessary musl/ppc patch [ci skip] --- srcpkgs/ocaml/patches/musl-ppc.patch | 11 +++++++++++ .../ocaml-4.08.0-ppc-sigcontext-musl.patch | 19 ------------------- 2 files changed, 11 insertions(+), 19 deletions(-) create mode 100644 srcpkgs/ocaml/patches/musl-ppc.patch delete mode 100644 srcpkgs/ocaml/patches/ocaml-4.08.0-ppc-sigcontext-musl.patch diff --git a/srcpkgs/ocaml/patches/musl-ppc.patch b/srcpkgs/ocaml/patches/musl-ppc.patch new file mode 100644 index 00000000000..bc2c10fd43a --- /dev/null +++ b/srcpkgs/ocaml/patches/musl-ppc.patch @@ -0,0 +1,11 @@ +--- a/runtime/signals_osdep.h ++++ b/runtime/signals_osdep.h +@@ -309,6 +309,8 @@ + + #elif defined(TARGET_power) && defined(SYS_elf) + ++ #include ++ + #define DECLARE_SIGNAL_HANDLER(name) \ + static void name(int sig, struct sigcontext * context) + diff --git a/srcpkgs/ocaml/patches/ocaml-4.08.0-ppc-sigcontext-musl.patch b/srcpkgs/ocaml/patches/ocaml-4.08.0-ppc-sigcontext-musl.patch deleted file mode 100644 index a40bc5fd64d..00000000000 --- a/srcpkgs/ocaml/patches/ocaml-4.08.0-ppc-sigcontext-musl.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- ocaml-4.04.2/runtime/signals_osdep.h -+++ ocaml-4.04.2/runtime/signals_osdep.h -@@ -297,11 +297,11 @@ - sigact.sa_flags = 0 - - typedef unsigned long context_reg; -- #define CONTEXT_PC (context->regs->nip) -- #define CONTEXT_EXCEPTION_POINTER (context->regs->gpr[29]) -- #define CONTEXT_YOUNG_LIMIT (context->regs->gpr[30]) -- #define CONTEXT_YOUNG_PTR (context->regs->gpr[31]) -- #define CONTEXT_SP (context->regs->gpr[1]) -+ #define CONTEXT_PC (context->gp_regs[32]) -+ #define CONTEXT_EXCEPTION_POINTER (context->gp_regs[29]) -+ #define CONTEXT_YOUNG_LIMIT (context->gp_regs[30]) -+ #define CONTEXT_YOUNG_PTR (context->gp_regs[31]) -+ #define CONTEXT_SP (context->gp_regs[1]) - - /****************** PowerPC, NetBSD */ -