From a709b83e35a6a6fd10415930ac9aeb1c87c669c8 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Thu, 18 Jul 2019 14:40:54 +0200
Subject: [PATCH] musl: update to 1.1.23.

---
 srcpkgs/musl/patches/mo_lookup.patch          | 19 --------
 .../patches/ppc64-vrregset-t-fix-layout.patch | 45 -------------------
 .../patches/ppc64-vrregset-t-vrregs-fix.patch | 29 ------------
 srcpkgs/musl/template                         |  6 +--
 4 files changed, 3 insertions(+), 96 deletions(-)
 delete mode 100644 srcpkgs/musl/patches/mo_lookup.patch
 delete mode 100644 srcpkgs/musl/patches/ppc64-vrregset-t-fix-layout.patch
 delete mode 100644 srcpkgs/musl/patches/ppc64-vrregset-t-vrregs-fix.patch

diff --git a/srcpkgs/musl/patches/mo_lookup.patch b/srcpkgs/musl/patches/mo_lookup.patch
deleted file mode 100644
index c23eaf33bc3..00000000000
--- a/srcpkgs/musl/patches/mo_lookup.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Do not crash with a NULL pointer dereference when dcngettext()
-is called with NULL msgid[12] arguments.
-
-Fix for https://github.com/void-linux/void-packages/issues/12042
-and probably others.
-
-	--xtraeme
-
---- src/locale/__mo_lookup.c.orig	2019-06-26 09:55:36.843012674 +0200
-+++ src/locale/__mo_lookup.c	2019-06-26 09:56:11.529443955 +0200
-@@ -13,7 +13,7 @@ const char *__mo_lookup(const void *p, s
- 	uint32_t b = 0, n = swapc(mo[2], sw);
- 	uint32_t o = swapc(mo[3], sw);
- 	uint32_t t = swapc(mo[4], sw);
--	if (n>=size/4 || o>=size-4*n || t>=size-4*n || ((o|t)%4))
-+	if (!s || n>=size/4 || o>=size-4*n || t>=size-4*n || ((o|t)%4))
- 		return 0;
- 	o/=4;
- 	t/=4;
diff --git a/srcpkgs/musl/patches/ppc64-vrregset-t-fix-layout.patch b/srcpkgs/musl/patches/ppc64-vrregset-t-fix-layout.patch
deleted file mode 100644
index 5ca68a35aaf..00000000000
--- a/srcpkgs/musl/patches/ppc64-vrregset-t-fix-layout.patch
+++ /dev/null
@@ -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 {
diff --git a/srcpkgs/musl/patches/ppc64-vrregset-t-vrregs-fix.patch b/srcpkgs/musl/patches/ppc64-vrregset-t-vrregs-fix.patch
deleted file mode 100644
index 0d2664e6c97..00000000000
--- a/srcpkgs/musl/patches/ppc64-vrregset-t-vrregs-fix.patch
+++ /dev/null
@@ -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;
diff --git a/srcpkgs/musl/template b/srcpkgs/musl/template
index 4a312725d60..5a267c59ff0 100644
--- a/srcpkgs/musl/template
+++ b/srcpkgs/musl/template
@@ -1,7 +1,7 @@
 # Template file for 'musl'.
 pkgname=musl
-version=1.1.22
-revision=4
+version=1.1.23
+revision=1
 archs="*-musl"
 build_style=gnu-configure
 configure_args="--prefix=/usr --disable-gcc-wrapper"
@@ -12,7 +12,7 @@ maintainer="Juan RP <xtraeme@voidlinux.org>"
 license="MIT"
 homepage="http://www.musl-libc.org/"
 distfiles="http://www.musl-libc.org/releases/musl-${version}.tar.gz"
-checksum=8b0941a48d2f980fd7036cfbd24aa1d414f03d9a0652ecbd5ec5c7ff1bee29e3
+checksum=8a0feb41cef26c97dde382c014e68b9bb335c094bbc1356f6edaaf6b79bd14aa
 
 nostrip_files="libc.so"
 shlib_provides="libc.so"
