From 03f4df9b3d5132d4a33e1b0c255ff3f2e21fc7ba Mon Sep 17 00:00:00 2001 From: q66 Date: Thu, 23 Apr 2020 19:14:27 +0200 Subject: [PATCH] Revert "musl: update to 1.2.0." This reverts commit eb761949c5b221573ca742c26c845426fba5e9de. --- srcpkgs/musl/patches/ppc-pt_regs.patch | 38 +++++++++++++++++++++ srcpkgs/musl/patches/ppc64-fpregset_t.patch | 31 +++++++++++++++++ srcpkgs/musl/template | 7 ++-- 3 files changed, 73 insertions(+), 3 deletions(-) create mode 100644 srcpkgs/musl/patches/ppc-pt_regs.patch create mode 100644 srcpkgs/musl/patches/ppc64-fpregset_t.patch diff --git a/srcpkgs/musl/patches/ppc-pt_regs.patch b/srcpkgs/musl/patches/ppc-pt_regs.patch new file mode 100644 index 00000000000..93ab51e25c0 --- /dev/null +++ b/srcpkgs/musl/patches/ppc-pt_regs.patch @@ -0,0 +1,38 @@ +commit c2518a8efb6507f1b41c3b12e03b06f8f2317a1f +Author: Rich Felker +Date: Sat Oct 19 15:53:43 2019 -0400 + + use struct pt_regs * rather than void * for powerpc[64] sigcontext regs + + this is to match the kernel and glibc interfaces. here, struct pt_regs + is an incomplete type, but that's harmless, and if it's completed by + inclusion of another header then members of the struct pointed to by + the regs member can be accessed directly without going through a cast + or intermediate pointer object. + +diff --git a/arch/powerpc/bits/signal.h b/arch/powerpc/bits/signal.h +index 06efb11c..c1bf3caf 100644 +--- arch/powerpc/bits/signal.h ++++ arch/powerpc/bits/signal.h +@@ -28,7 +28,7 @@ struct sigcontext { + int signal; + unsigned long handler; + unsigned long oldmask; +- void *regs; ++ struct pt_regs *regs; + }; + + typedef struct { +diff --git a/arch/powerpc64/bits/signal.h b/arch/powerpc64/bits/signal.h +index 4dec22a5..d5493b18 100644 +--- arch/powerpc64/bits/signal.h ++++ arch/powerpc64/bits/signal.h +@@ -32,7 +32,7 @@ typedef struct sigcontext { + int _pad0; + unsigned long handler; + unsigned long oldmask; +- void *regs; ++ struct pt_regs *regs; + gregset_t gp_regs; + fpregset_t fp_regs; + vrregset_t *v_regs; diff --git a/srcpkgs/musl/patches/ppc64-fpregset_t.patch b/srcpkgs/musl/patches/ppc64-fpregset_t.patch new file mode 100644 index 00000000000..40c2a066aca --- /dev/null +++ b/srcpkgs/musl/patches/ppc64-fpregset_t.patch @@ -0,0 +1,31 @@ +commit c9f48cde0a22641ce3daf54596a9ecebdab91435 +Author: Rich Felker +Date: Sat Oct 19 15:39:45 2019 -0400 + + fix fpregset_t type on powerpc64 + + the userspace ucontext API has this as an array rather than a + structure. + + commit 3c59a868956636bc8adafb1b168d090897692532 fixed the + corresponding mistake for vrregset_t, namely that the original + powerpc64 port used a mix of types from 32-bit powerpc and powerpc64 + rather than matching the 64-bit types. + +diff --git a/arch/powerpc64/bits/signal.h b/arch/powerpc64/bits/signal.h +index 2cc0604c..4dec22a5 100644 +--- arch/powerpc64/bits/signal.h ++++ arch/powerpc64/bits/signal.h +@@ -9,11 +9,7 @@ + #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + + typedef unsigned long greg_t, gregset_t[48]; +- +-typedef struct { +- double fpregs[32]; +- double fpscr; +-} fpregset_t; ++typedef double fpregset_t[33]; + + typedef struct { + #ifdef __GNUC__ diff --git a/srcpkgs/musl/template b/srcpkgs/musl/template index e69724b64a7..fe1593eb78b 100644 --- a/srcpkgs/musl/template +++ b/srcpkgs/musl/template @@ -1,7 +1,8 @@ # Template file for 'musl' pkgname=musl -version=1.2.0 -revision=1 +reverts="1.2.0_1" +version=1.1.24 +revision=2 archs="*-musl" bootstrap=yes build_style=gnu-configure @@ -12,7 +13,7 @@ maintainer="Enno Boland " license="MIT" homepage="http://www.musl-libc.org/" distfiles="http://www.musl-libc.org/releases/musl-${version}.tar.gz" -checksum=c6de7b191139142d3f9a7b5b702c9cae1b5ee6e7f57e582da9328629408fd4e8 +checksum=1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3 conflicts="glibc>=0" nostrip_files="libc.so"