musl: update to 1.1.23.
This commit is contained in:
parent
1c329cbfe8
commit
54099d7560
3 changed files with 3 additions and 77 deletions
|
@ -1,45 +0,0 @@
|
||||||
commit 3c59a868956636bc8adafb1b168d090897692532
|
|
||||||
Author: Rich Felker <dalias@aerifal.cx>
|
|
||||||
Date: Wed May 22 15:17:12 2019 -0400
|
|
||||||
|
|
||||||
fix vrregset_t layout and member naming on powerpc64
|
|
||||||
|
|
||||||
the mistaken layout seems to have been adapted from 32-bit powerpc,
|
|
||||||
where vscr and vrsave are packed into the same 128-bit slot in a way
|
|
||||||
that looks like it relies on non-overlapping-ness of the value bits in
|
|
||||||
big endian.
|
|
||||||
|
|
||||||
the powerpc64 port accounted for the fact that the 64-bit ABI puts
|
|
||||||
each in its own 128-bit slot, but ordered them incorrectly (matching
|
|
||||||
the bit order used on the 32-bit ABI), and failed to account for vscr
|
|
||||||
being padded according to endianness so that it can be accessed via
|
|
||||||
vector moves.
|
|
||||||
|
|
||||||
in addition to ABI layout, our definition used different logical
|
|
||||||
member layout/naming from glibc, where vscr is a structure to
|
|
||||||
facilitate access as a 32-bit word or a 128-bit vector. the
|
|
||||||
inconsistency here was unintentional, so fix it.
|
|
||||||
|
|
||||||
diff --git a/arch/powerpc64/bits/signal.h b/arch/powerpc64/bits/signal.h
|
|
||||||
index 34693a68..94c7a327 100644
|
|
||||||
--- arch/powerpc64/bits/signal.h
|
|
||||||
+++ arch/powerpc64/bits/signal.h
|
|
||||||
@@ -17,10 +17,14 @@ typedef struct {
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
unsigned __int128 vrregs[32];
|
|
||||||
- unsigned _pad[3];
|
|
||||||
- unsigned vrsave;
|
|
||||||
- unsigned vscr;
|
|
||||||
- unsigned _pad2[3];
|
|
||||||
+ struct {
|
|
||||||
+#if __BIG_ENDIAN__
|
|
||||||
+ unsigned _pad[3], vscr_word;
|
|
||||||
+#else
|
|
||||||
+ unsigned vscr_word, _pad[3];
|
|
||||||
+#endif
|
|
||||||
+ } vscr;
|
|
||||||
+ unsigned vrsave, _pad[3];
|
|
||||||
} vrregset_t;
|
|
||||||
|
|
||||||
typedef struct sigcontext {
|
|
|
@ -1,29 +0,0 @@
|
||||||
commit ac304227bb3ea1787d581f17d76a5f5f3abff51f
|
|
||||||
Author: Rich Felker <dalias@aerifal.cx>
|
|
||||||
Date: Wed May 22 18:28:32 2019 -0400
|
|
||||||
|
|
||||||
make powerpc64 vrregset_t logical layout match expected API
|
|
||||||
|
|
||||||
between v2 and v3 of the powerpc64 port patch, the change was made
|
|
||||||
from a 32x4 array of 32-bit unsigned ints for vrregs[] to a 32-element
|
|
||||||
array of __int128. this mismatches the API applications working with
|
|
||||||
mcontext_t expect from glibc, and seems to have been motivated by a
|
|
||||||
misinterpretation of a comment on how aarch64 did things as a
|
|
||||||
suggestion to do the same on powerpc64.
|
|
||||||
|
|
||||||
diff --git a/arch/powerpc64/bits/signal.h b/arch/powerpc64/bits/signal.h
|
|
||||||
index 94c7a327..2cc0604c 100644
|
|
||||||
--- arch/powerpc64/bits/signal.h
|
|
||||||
+++ arch/powerpc64/bits/signal.h
|
|
||||||
@@ -16,7 +16,10 @@ typedef struct {
|
|
||||||
} fpregset_t;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
- unsigned __int128 vrregs[32];
|
|
||||||
+#ifdef __GNUC__
|
|
||||||
+ __attribute__((__aligned__(16)))
|
|
||||||
+#endif
|
|
||||||
+ unsigned vrregs[32][4];
|
|
||||||
struct {
|
|
||||||
#if __BIG_ENDIAN__
|
|
||||||
unsigned _pad[3], vscr_word;
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Template file for 'musl'.
|
# Template file for 'musl'.
|
||||||
pkgname=musl
|
pkgname=musl
|
||||||
version=1.1.22
|
version=1.1.23
|
||||||
revision=4
|
revision=1
|
||||||
archs="*-musl"
|
archs="*-musl"
|
||||||
build_style=gnu-configure
|
build_style=gnu-configure
|
||||||
configure_args="--prefix=/usr --disable-gcc-wrapper"
|
configure_args="--prefix=/usr --disable-gcc-wrapper"
|
||||||
|
@ -12,7 +12,7 @@ maintainer="Juan RP <xtraeme@voidlinux.org>"
|
||||||
license="MIT"
|
license="MIT"
|
||||||
homepage="http://www.musl-libc.org/"
|
homepage="http://www.musl-libc.org/"
|
||||||
distfiles="http://www.musl-libc.org/releases/musl-${version}.tar.gz"
|
distfiles="http://www.musl-libc.org/releases/musl-${version}.tar.gz"
|
||||||
checksum=8b0941a48d2f980fd7036cfbd24aa1d414f03d9a0652ecbd5ec5c7ff1bee29e3
|
checksum=8a0feb41cef26c97dde382c014e68b9bb335c094bbc1356f6edaaf6b79bd14aa
|
||||||
|
|
||||||
nostrip_files="libc.so"
|
nostrip_files="libc.so"
|
||||||
shlib_provides="libc.so"
|
shlib_provides="libc.so"
|
||||||
|
|
Loading…
Reference in a new issue