parent
951d584602
commit
03f4df9b3d
3 changed files with 73 additions and 3 deletions
38
srcpkgs/musl/patches/ppc-pt_regs.patch
Normal file
38
srcpkgs/musl/patches/ppc-pt_regs.patch
Normal file
|
@ -0,0 +1,38 @@
|
|||
commit c2518a8efb6507f1b41c3b12e03b06f8f2317a1f
|
||||
Author: Rich Felker <dalias@aerifal.cx>
|
||||
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;
|
31
srcpkgs/musl/patches/ppc64-fpregset_t.patch
Normal file
31
srcpkgs/musl/patches/ppc64-fpregset_t.patch
Normal file
|
@ -0,0 +1,31 @@
|
|||
commit c9f48cde0a22641ce3daf54596a9ecebdab91435
|
||||
Author: Rich Felker <dalias@aerifal.cx>
|
||||
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__
|
|
@ -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 <gottox@voidlinux.org>"
|
|||
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"
|
||||
|
|
Loading…
Reference in a new issue