repo/gentoo:master commit in: sys-libs/musl/files/
"Sam James" <[email protected]>
| Newsgroups | gmane.linux.gentoo.cvs |
|---|---|
| Message-ID | <1786671851.2b65289c48af7d7d2d17e169f18bbf8e44187779.sam@gentoo> |
commit: 2b65289c48af7d7d2d17e169f18bbf8e44187779 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Fri Aug 14 00:41:31 2026 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Fri Aug 14 01:44:11 2026 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2b65289c sys-libs/musl/files: drop unused patches Signed-off-by: Sam James <sam <AT> gentoo.org> .../files/musl-1.2.4-arm64-crti-alignment.patch | 32 ----- sys-libs/musl/files/musl-arm-crti-alignment.patch | 33 ----- sys-libs/musl/files/musl-dns-union.patch | 33 ----- sys-libs/musl/files/musl-getauxval.patch | 31 ----- .../musl/files/musl-iconv-out-of-bound-fix.patch | 76 ---------- sys-libs/musl/files/musl-isatty.patch | 40 ------ sys-libs/musl/files/musl-page-size.patch | 48 ------- sys-libs/musl/files/musl-ppc-clobber.patch | 154 --------------------- sys-libs/musl/files/musl-printf-empty-iovec.patch | 33 ----- .../musl-sched.h-reduce-namespace-conflicts.patch | 58 -------- 10 files changed, 538 deletions(-) diff --git a/sys-libs/musl/files/musl-1.2.4-arm64-crti-alignment.patch b/sys-libs/musl/files/musl-1.2.4-arm64-crti-alignment.patch deleted file mode 100644 index 8b548bdb255f..000000000000 --- a/sys-libs/musl/files/musl-1.2.4-arm64-crti-alignment.patch +++ /dev/null @@ -1,32 +0,0 @@ -https://git.musl-libc.org/cgit/musl/commit/?id=cbf59dd662cea8786c2f3a5ea21f8da64f002b30 -https://github.com/rui314/mold/issues/1255 -https://bugs.gentoo.org/931782 - -From cbf59dd662cea8786c2f3a5ea21f8da64f002b30 Mon Sep 17 00:00:00 2001 -From: mojyack <[email protected]> -Date: Sun, 12 May 2024 12:13:06 -0400 -Subject: aarch64 crti.o: fix alignment of _init/_fini - -without explicit alignment directives, whether they end up at the -necessary alignment depends on linker/linking conditions. initially -reported as mold issue 1255. ---- a/crt/aarch64/crti.s -+++ b/crt/aarch64/crti.s -@@ -1,6 +1,7 @@ - .section .init - .global _init - .type _init,%function -+.align 2 - _init: - stp x29,x30,[sp,-16]! - mov x29,sp -@@ -8,6 +9,7 @@ _init: - .section .fini - .global _fini - .type _fini,%function -+.align 2 - _fini: - stp x29,x30,[sp,-16]! - mov x29,sp --- -cgit v1.2.1 diff --git a/sys-libs/musl/files/musl-arm-crti-alignment.patch b/sys-libs/musl/files/musl-arm-crti-alignment.patch deleted file mode 100644 index ce7279c82f69..000000000000 --- a/sys-libs/musl/files/musl-arm-crti-alignment.patch +++ /dev/null @@ -1,33 +0,0 @@ -https://bugs.gentoo.org/931782 -https://git.musl-libc.org/cgit/musl/commit/?id=9929a571b5b662c2ce106f1c08a9faf02af58d8a - -From 9929a571b5b662c2ce106f1c08a9faf02af58d8a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= <[email protected]> -Date: Thu, 10 Oct 2024 22:50:46 +0200 -Subject: arm: fix _init/_fini alignment in crti.o - -This is just cbf59dd6 applied to arm. ---- - crt/arm/crti.s | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/crt/arm/crti.s b/crt/arm/crti.s -index 18dc1e41..cccda3ea 100644 ---- a/crt/arm/crti.s -+++ b/crt/arm/crti.s -@@ -3,11 +3,13 @@ - .section .init - .global _init - .type _init,%function -+.align 2 - _init: - push {r0,lr} - - .section .fini - .global _fini - .type _fini,%function -+.align 2 - _fini: - push {r0,lr} --- -cgit v1.2.1 diff --git a/sys-libs/musl/files/musl-dns-union.patch b/sys-libs/musl/files/musl-dns-union.patch deleted file mode 100644 index 7b6affe43b3b..000000000000 --- a/sys-libs/musl/files/musl-dns-union.patch +++ /dev/null @@ -1,33 +0,0 @@ -https://git.musl-libc.org/cgit/musl/commit/?id=6915b34860459a963fb1ba468a4d5389dd65c67b - -From 6915b34860459a963fb1ba468a4d5389dd65c67b Mon Sep 17 00:00:00 2001 -From: Rich Felker <dalias-/[email protected]> -Date: Mon, 5 May 2025 09:23:32 -0400 -Subject: dns resolver: reorder sockaddr union to make initialization safe - -some recent compilers have adopted a dubious interpretation of the C -specification for union initializers, that when the initialized member -is smaller than the size of the union, the remaining padding does not -have to be zero-initialized. in the interests of not depending on any -particular interpretation, place the larger member first so it's -initialized and ensures the whole object is zero-filled. ---- - src/network/res_msend.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/network/res_msend.c b/src/network/res_msend.c -index 86c2fcf4..fcb52513 100644 ---- a/src/network/res_msend.c -+++ b/src/network/res_msend.c -@@ -83,8 +83,8 @@ int __res_msend_rc(int nqueries, const unsigned char *const *queries, - int fd; - int timeout, attempts, retry_interval, servfail_retry; - union { -- struct sockaddr_in sin; - struct sockaddr_in6 sin6; -+ struct sockaddr_in sin; - } sa = {0}, ns[MAXNS] = {{0}}; - socklen_t sl = sizeof sa.sin; - int nns = 0; --- -cgit v1.2.1 diff --git a/sys-libs/musl/files/musl-getauxval.patch b/sys-libs/musl/files/musl-getauxval.patch deleted file mode 100644 index 4bf46fe081c5..000000000000 --- a/sys-libs/musl/files/musl-getauxval.patch +++ /dev/null @@ -1,31 +0,0 @@ -https://bugs.gentoo.org/949724 -https://git.musl-libc.org/cgit/musl/patch/?id=ab4635fba6769e19fb411a1ab3c8aa7407e11188 - -From ab4635fba6769e19fb411a1ab3c8aa7407e11188 Mon Sep 17 00:00:00 2001 -From: Szabolcs Nagy <[email protected]> -Date: Thu, 12 Oct 2023 20:31:48 +0200 -Subject: make __getauxval a public ABI symbol - -This is needed so that libgcc can access AT_HWCAP without violating -link namespace rules. - -Internally musl already used __getauxval symbol for the same reason, -we just remove the hidden marking. ---- - src/include/sys/auxv.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/include/sys/auxv.h b/src/include/sys/auxv.h -index 9358a4a5..63c5bfe9 100644 ---- a/src/include/sys/auxv.h -+++ b/src/include/sys/auxv.h -@@ -5,6 +5,6 @@ - - #include <features.h> - --hidden unsigned long __getauxval(unsigned long); -+unsigned long __getauxval(unsigned long); - - #endif --- -cgit v1.2.1 diff --git a/sys-libs/musl/files/musl-iconv-out-of-bound-fix.patch b/sys-libs/musl/files/musl-iconv-out-of-bound-fix.patch deleted file mode 100644 index 762b4e34c160..000000000000 --- a/sys-libs/musl/files/musl-iconv-out-of-bound-fix.patch +++ /dev/null @@ -1,76 +0,0 @@ ->From e5adcd97b5196e29991b524237381a0202a60659 Mon Sep 17 00:00:00 2001 -From: Rich Felker <dalias-/[email protected]> -Date: Sun, 9 Feb 2025 10:07:19 -0500 -Subject: [PATCH] iconv: fix erroneous input validation in EUC-KR decoder - -as a result of incorrect bounds checking on the lead byte being -decoded, certain invalid inputs which should produce an encoding -error, such as "\xc8\x41", instead produced out-of-bounds loads from -the ksc table. - -in a worst case, the loaded value may not be a valid unicode scalar -value, in which case, if the output encoding was UTF-8, wctomb would -return (size_t)-1, causing an overflow in the output pointer and -remaining buffer size which could clobber memory outside of the output -buffer. - -bug report was submitted in private by Nick Wellnhofer on account of -potential security implications. ---- - src/locale/iconv.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/locale/iconv.c b/src/locale/iconv.c -index 9605c8e9..008c93f0 100644 ---- a/src/locale/iconv.c -+++ b/src/locale/iconv.c -@@ -502,7 +502,7 @@ size_t iconv(iconv_t cd, char **restrict in, size_t *restrict inb, char **restri - if (c >= 93 || d >= 94) { - c += (0xa1-0x81); - d += 0xa1; -- if (c >= 93 || c>=0xc6-0x81 && d>0x52) -+ if (c > 0xc6-0x81 || c==0xc6-0x81 && d>0x52) - goto ilseq; - if (d-'A'<26) d = d-'A'; - else if (d-'a'<26) d = d-'a'+26; --- -2.21.0 - ->From c47ad25ea3b484e10326f933e927c0bc8cded3da Mon Sep 17 00:00:00 2001 -From: Rich Felker <dalias-/[email protected]> -Date: Wed, 12 Feb 2025 17:06:30 -0500 -Subject: [PATCH] iconv: harden UTF-8 output code path against input decoder - bugs - -the UTF-8 output code was written assuming an invariant that iconv's -decoders only emit valid Unicode Scalar Values which wctomb can encode -successfully, thereby always returning a value between 1 and 4. - -if this invariant is not satisfied, wctomb returns (size_t)-1, and the -subsequent adjustments to the output buffer pointer and remaining -output byte count overflow, moving the output position backwards, -potentially past the beginning of the buffer, without storing any -bytes. ---- - src/locale/iconv.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/locale/iconv.c b/src/locale/iconv.c -index 008c93f0..52178950 100644 ---- a/src/locale/iconv.c -+++ b/src/locale/iconv.c -@@ -545,6 +545,10 @@ size_t iconv(iconv_t cd, char **restrict in, size_t *restrict inb, char **restri - if (*outb < k) goto toobig; - memcpy(*out, tmp, k); - } else k = wctomb_utf8(*out, c); -+ /* This failure condition should be unreachable, but -+ * is included to prevent decoder bugs from translating -+ * into advancement outside the output buffer range. */ -+ if (k>4) goto ilseq; - *out += k; - *outb -= k; - break; --- -2.21.0 - - diff --git a/sys-libs/musl/files/musl-isatty.patch b/sys-libs/musl/files/musl-isatty.patch deleted file mode 100644 index df57e5a01e53..000000000000 --- a/sys-libs/musl/files/musl-isatty.patch +++ /dev/null @@ -1,40 +0,0 @@ -https://git.musl-libc.org/cgit/musl/commit/?id=c94a0c16f08894ce3be6dafb0fe80baa77a6ff2a - -From c94a0c16f08894ce3be6dafb0fe80baa77a6ff2a Mon Sep 17 00:00:00 2001 -From: Rich Felker <dalias-/[email protected]> -Date: Tue, 20 Aug 2024 12:34:50 -0400 -Subject: isatty: don't collapse all non-EBADF errors to ENOTTY - -linux puts hung-up ttys in a state where ioctls produce EIO, and may -do the same for other types of devices in error or shutdown states. -such an error clearly does not mean the device is not a tty, but it -also can't reliably establish that the device is a tty, so the only -safe thing to do seems to be reporting the error. programs that don't -check errno will conclude that the device is not a tty, which is no -different from what happens now, but at least they gain the option to -differentiate between the cases. - -commit c84971995b3a6d5118f9357c040572f4c78bcd55 introduced the errno -collapsing behavior, but prior to that, errno was not set at all by -isatty. ---- - src/unistd/isatty.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -diff --git a/src/unistd/isatty.c b/src/unistd/isatty.c -index 75a9c186..21222eda 100644 ---- a/src/unistd/isatty.c -+++ b/src/unistd/isatty.c -@@ -6,8 +6,6 @@ - int isatty(int fd) - { - struct winsize wsz; -- unsigned long r = syscall(SYS_ioctl, fd, TIOCGWINSZ, &wsz); -- if (r == 0) return 1; -- if (errno != EBADF) errno = ENOTTY; -- return 0; -+ /* +1 converts from error status (0/-1) to boolean (1/0) */ -+ return syscall(SYS_ioctl, fd, TIOCGWINSZ, &wsz) + 1; - } --- -cgit v1.2.1 diff --git a/sys-libs/musl/files/musl-page-size.patch b/sys-libs/musl/files/musl-page-size.patch deleted file mode 100644 index 830500c25340..000000000000 --- a/sys-libs/musl/files/musl-page-size.patch +++ /dev/null @@ -1,48 +0,0 @@ -https://git.musl-libc.org/cgit/musl/commit/?id=6f666231bf51703fadbef10460d462fb573548a1 - -From 6f666231bf51703fadbef10460d462fb573548a1 Mon Sep 17 00:00:00 2001 -From: Rich Felker <dalias-/[email protected]> -Date: Tue, 7 May 2024 08:18:49 -0400 -Subject: ldso: fix non-functional fix to early dynamic PAGE_SIZE access - -commit f47a8cdd250d9163fcfb39bf4e9d813957c0b187 introduced an -alternate mechanism for access to runtime page size for compatibility -with early stages of dynamic linking, but because pthread_impl.h -indirectly includes libc.h, the condition #ifndef PAGE_SIZE was never -satisfied. - -rather than depend on order of inclusion, use the (baseline POSIX) -macro PAGESIZE, not the (XSI) macro PAGE_SIZE, to determine whether -page size is dynamic. our internal libc.h only provides a dynamic -definition for PAGE_SIZE, not for PAGESIZE. ---- - ldso/dynlink.c | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/ldso/dynlink.c b/ldso/dynlink.c -index 324aa859..42687da2 100644 ---- a/ldso/dynlink.c -+++ b/ldso/dynlink.c -@@ -21,15 +21,17 @@ - #include <sys/membarrier.h> - #include "pthread_impl.h" - #include "fork_impl.h" -+#include "libc.h" - #include "dynlink.h" - - static size_t ldso_page_size; --#ifndef PAGE_SIZE -+/* libc.h may have defined a macro for dynamic PAGE_SIZE already, but -+ * PAGESIZE is only defined if it's constant for the arch. */ -+#ifndef PAGESIZE -+#undef PAGE_SIZE - #define PAGE_SIZE ldso_page_size - #endif - --#include "libc.h" -- - #define malloc __libc_malloc - #define calloc __libc_calloc - #define realloc __libc_realloc --- -cgit v1.2.1 diff --git a/sys-libs/musl/files/musl-ppc-clobber.patch b/sys-libs/musl/files/musl-ppc-clobber.patch deleted file mode 100644 index 8094d541a8a3..000000000000 --- a/sys-libs/musl/files/musl-ppc-clobber.patch +++ /dev/null @@ -1,154 +0,0 @@ -https://bugs.gentoo.org/956676 -https://git.musl-libc.org/cgit/musl/patch/?id=f6944eb3c4ce1c97dc39dc36d32390dc9f70b67b - -From f6944eb3c4ce1c97dc39dc36d32390dc9f70b67b Mon Sep 17 00:00:00 2001 -From: Rich Felker <dalias-/[email protected]> -Date: Thu, 7 Aug 2025 15:35:14 -0400 -Subject: powerpc[64]: fix missing ctr and xer regs in syscall asm clobberlists - -the ctr and xer special registers are call-clobbered and -syscall-clobbered. failure to include them in the clobber list may -result in wrong code that attempts to use a value which is no longer -present in the register after the syscall. this has been reported to -manifest newly with gcc 15. ---- - arch/powerpc/syscall_arch.h | 14 +++++++------- - arch/powerpc64/syscall_arch.h | 14 +++++++------- - 2 files changed, 14 insertions(+), 14 deletions(-) - -diff --git a/arch/powerpc/syscall_arch.h b/arch/powerpc/syscall_arch.h -index 54c885cb..fe893af4 100644 ---- a/arch/powerpc/syscall_arch.h -+++ b/arch/powerpc/syscall_arch.h -@@ -9,7 +9,7 @@ static inline long __syscall0(long n) - register long r3 __asm__("r3"); - __asm__ __volatile__("sc ; bns+ 1f ; neg %1, %1 ; 1:" - : "+r"(r0), "=r"(r3) -- :: "memory", "cr0", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12"); -+ :: "memory", "cr0", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "ctr", "xer"); - return r3; - } - -@@ -19,7 +19,7 @@ static inline long __syscall1(long n, long a) - register long r3 __asm__("r3") = a; - __asm__ __volatile__("sc ; bns+ 1f ; neg %1, %1 ; 1:" - : "+r"(r0), "+r"(r3) -- :: "memory", "cr0", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12"); -+ :: "memory", "cr0", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "ctr", "xer"); - return r3; - } - -@@ -30,7 +30,7 @@ static inline long __syscall2(long n, long a, long b) - register long r4 __asm__("r4") = b; - __asm__ __volatile__("sc ; bns+ 1f ; neg %1, %1 ; 1:" - : "+r"(r0), "+r"(r3), "+r"(r4) -- :: "memory", "cr0", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12"); -+ :: "memory", "cr0", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "ctr", "xer"); - return r3; - } - -@@ -42,7 +42,7 @@ static inline long __syscall3(long n, long a, long b, long c) - register long r5 __asm__("r5") = c; - __asm__ __volatile__("sc ; bns+ 1f ; neg %1, %1 ; 1:" - : "+r"(r0), "+r"(r3), "+r"(r4), "+r"(r5) -- :: "memory", "cr0", "r6", "r7", "r8", "r9", "r10", "r11", "r12"); -+ :: "memory", "cr0", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "ctr", "xer"); - return r3; - } - -@@ -55,7 +55,7 @@ static inline long __syscall4(long n, long a, long b, long c, long d) - register long r6 __asm__("r6") = d; - __asm__ __volatile__("sc ; bns+ 1f ; neg %1, %1 ; 1:" - : "+r"(r0), "+r"(r3), "+r"(r4), "+r"(r5), "+r"(r6) -- :: "memory", "cr0", "r7", "r8", "r9", "r10", "r11", "r12"); -+ :: "memory", "cr0", "r7", "r8", "r9", "r10", "r11", "r12", "ctr", "xer"); - return r3; - } - -@@ -69,7 +69,7 @@ static inline long __syscall5(long n, long a, long b, long c, long d, long e) - register long r7 __asm__("r7") = e; - __asm__ __volatile__("sc ; bns+ 1f ; neg %1, %1 ; 1:" - : "+r"(r0), "+r"(r3), "+r"(r4), "+r"(r5), "+r"(r6), "+r"(r7) -- :: "memory", "cr0", "r8", "r9", "r10", "r11", "r12"); -+ :: "memory", "cr0", "r8", "r9", "r10", "r11", "r12", "ctr", "xer"); - return r3; - } - -@@ -84,7 +84,7 @@ static inline long __syscall6(long n, long a, long b, long c, long d, long e, lo - register long r8 __asm__("r8") = f; - __asm__ __volatile__("sc ; bns+ 1f ; neg %1, %1 ; 1:" - : "+r"(r0), "+r"(r3), "+r"(r4), "+r"(r5), "+r"(r6), "+r"(r7), "+r"(r8) -- :: "memory", "cr0", "r9", "r10", "r11", "r12"); -+ :: "memory", "cr0", "r9", "r10", "r11", "r12", "ctr", "xer"); - return r3; - } - -diff --git a/arch/powerpc64/syscall_arch.h b/arch/powerpc64/syscall_arch.h -index 7d34fbe4..4c5d3ae9 100644 ---- a/arch/powerpc64/syscall_arch.h -+++ b/arch/powerpc64/syscall_arch.h -@@ -7,7 +7,7 @@ static inline long __syscall0(long n) - register long r3 __asm__("r3"); - __asm__ __volatile__("sc ; bns+ 1f ; neg %1, %1 ; 1:" - : "+r"(r0), "=r"(r3) -- :: "memory", "cr0", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12"); -+ :: "memory", "cr0", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "ctr", "xer"); - return r3; - } - -@@ -17,7 +17,7 @@ static inline long __syscall1(long n, long a) - register long r3 __asm__("r3") = a; - __asm__ __volatile__("sc ; bns+ 1f ; neg %1, %1 ; 1:" - : "+r"(r0), "+r"(r3) -- :: "memory", "cr0", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12"); -+ :: "memory", "cr0", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "ctr", "xer"); - return r3; - } - -@@ -28,7 +28,7 @@ static inline long __syscall2(long n, long a, long b) - register long r4 __asm__("r4") = b; - __asm__ __volatile__("sc ; bns+ 1f ; neg %1, %1 ; 1:" - : "+r"(r0), "+r"(r3), "+r"(r4) -- :: "memory", "cr0", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12"); -+ :: "memory", "cr0", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "ctr", "xer"); - return r3; - } - -@@ -40,7 +40,7 @@ static inline long __syscall3(long n, long a, long b, long c) - register long r5 __asm__("r5") = c; - __asm__ __volatile__("sc ; bns+ 1f ; neg %1, %1 ; 1:" - : "+r"(r0), "+r"(r3), "+r"(r4), "+r"(r5) -- :: "memory", "cr0", "r6", "r7", "r8", "r9", "r10", "r11", "r12"); -+ :: "memory", "cr0", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "ctr", "xer"); - return r3; - } - -@@ -53,7 +53,7 @@ static inline long __syscall4(long n, long a, long b, long c, long d) - register long r6 __asm__("r6") = d; - __asm__ __volatile__("sc ; bns+ 1f ; neg %1, %1 ; 1:" - : "+r"(r0), "+r"(r3), "+r"(r4), "+r"(r5), "+r"(r6) -- :: "memory", "cr0", "r7", "r8", "r9", "r10", "r11", "r12"); -+ :: "memory", "cr0", "r7", "r8", "r9", "r10", "r11", "r12", "ctr", "xer"); - return r3; - } - -@@ -67,7 +67,7 @@ static inline long __syscall5(long n, long a, long b, long c, long d, long e) - register long r7 __asm__("r7") = e; - __asm__ __volatile__("sc ; bns+ 1f ; neg %1, %1 ; 1:" - : "+r"(r0), "+r"(r3), "+r"(r4), "+r"(r5), "+r"(r6), "+r"(r7) -- :: "memory", "cr0", "r8", "r9", "r10", "r11", "r12"); -+ :: "memory", "cr0", "r8", "r9", "r10", "r11", "r12", "ctr", "xer"); - return r3; - } - -@@ -82,7 +82,7 @@ static inline long __syscall6(long n, long a, long b, long c, long d, long e, lo - register long r8 __asm__("r8") = f; - __asm__ __volatile__("sc ; bns+ 1f ; neg %1, %1 ; 1:" - : "+r"(r0), "+r"(r3), "+r"(r4), "+r"(r5), "+r"(r6), "+r"(r7), "+r"(r8) -- :: "memory", "cr0", "r9", "r10", "r11", "r12"); -+ :: "memory", "cr0", "r9", "r10", "r11", "r12", "ctr", "xer"); - return r3; - } - --- -cgit v1.2.1 diff --git a/sys-libs/musl/files/musl-printf-empty-iovec.patch b/sys-libs/musl/files/musl-printf-empty-iovec.patch deleted file mode 100644 index 8cfd52c8a034..000000000000 --- a/sys-libs/musl/files/musl-printf-empty-iovec.patch +++ /dev/null @@ -1,33 +0,0 @@ -https://github.com/systemd/systemd/pull/38825#issue-3386123778 -https://git.musl-libc.org/cgit/musl/commit/?id=fde29c04adbab9d5b081bf6717b5458188647f1c - -From fde29c04adbab9d5b081bf6717b5458188647f1c Mon Sep 17 00:00:00 2001 -From: Casey Connolly <[email protected]> -Date: Wed, 23 Apr 2025 15:06:48 +0200 -Subject: stdio: skip empty iovec when buffering is disabled - -When buffering on a FILE is disabled we still send both iovecs, even -though the first one is always empty. Clean things up by skipping the -empty iovec instead. ---- - src/stdio/__stdio_write.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/src/stdio/__stdio_write.c b/src/stdio/__stdio_write.c -index d2d89475..5356553d 100644 ---- a/src/stdio/__stdio_write.c -+++ b/src/stdio/__stdio_write.c -@@ -11,6 +11,11 @@ size_t __stdio_write(FILE *f, const unsigned char *buf, size_t len) - size_t rem = iov[0].iov_len + iov[1].iov_len; - int iovcnt = 2; - ssize_t cnt; -+ -+ if (!iov->iov_len) { -+ iov++; -+ iovcnt--; -+ } - for (;;) { - cnt = syscall(SYS_writev, f->fd, iov, iovcnt); - if (cnt == rem) { --- -cgit v1.2.1 diff --git a/sys-libs/musl/files/musl-sched.h-reduce-namespace-conflicts.patch b/sys-libs/musl/files/musl-sched.h-reduce-namespace-conflicts.patch deleted file mode 100644 index d2d3b9343842..000000000000 --- a/sys-libs/musl/files/musl-sched.h-reduce-namespace-conflicts.patch +++ /dev/null @@ -1,58 +0,0 @@ -commit 1a98576401ff604ff06a030a3644e2780b2a837d -Author: Rich Felker <dalias-/[email protected]> -Date: Mon Jan 13 08:31:02 2025 -0500 - - sched.h: reduce namespace conflicts in _GNU_SOURCE profile - - we have the cpuset macros call calloc/free/memset/memcmp directly so - that they don't depend on any further ABI surface. this is not - namespace-clean, but only affects the _GNU_SOURCE feature profile, - which is not intended to be namespace-clean. nonetheless, reports come - up now and then of things which are gratuitously broken, usually when - an application has wrapped malloc with macros. - - this patch parenthesizes the function names so that function-like - macros will not be expanded, and removes the unused declaration of - memcpy. this is not a complete solution, but it should improve things - for affected applications, particularly ones which are not even trying - to use the cpuset interfaces which got them just because g++ always - defines _GNU_SOURCE. - -diff --git a/include/sched.h b/include/sched.h -index 204c34f5..8c3b53f0 100644 ---- a/include/sched.h -+++ b/include/sched.h -@@ -78,11 +78,10 @@ int clone (int (*)(void *), void *, int, void *, ...); - int unshare(int); - int setns(int, int); - --void *memcpy(void *__restrict, const void *__restrict, size_t); --int memcmp(const void *, const void *, size_t); --void *memset (void *, int, size_t); --void *calloc(size_t, size_t); --void free(void *); -+int (memcmp)(const void *, const void *, size_t); -+void *(memset)(void *, int, size_t); -+void *(calloc)(size_t, size_t); -+void (free)(void *); - - typedef struct cpu_set_t { unsigned long __bits[128/sizeof(long)]; } cpu_set_t; - int __sched_cpucount(size_t, const cpu_set_t *); -@@ -116,13 +115,13 @@ __CPU_op_func_S(XOR, ^) - #define CPU_XOR_S(a,b,c,d) __CPU_XOR_S(a,b,c,d) - - #define CPU_COUNT_S(size,set) __sched_cpucount(size,set) --#define CPU_ZERO_S(size,set) memset(set,0,size) --#define CPU_EQUAL_S(size,set1,set2) (!memcmp(set1,set2,size)) -+#define CPU_ZERO_S(size,set) (memset)(set,0,size) -+#define CPU_EQUAL_S(size,set1,set2) (!(memcmp)(set1,set2,size)) - - #define CPU_ALLOC_SIZE(n) (sizeof(long) * ( (n)/(8*sizeof(long)) \ - + ((n)%(8*sizeof(long)) + 8*sizeof(long)-1)/(8*sizeof(long)) ) ) --#define CPU_ALLOC(n) ((cpu_set_t *)calloc(1,CPU_ALLOC_SIZE(n))) --#define CPU_FREE(set) free(set) -+#define CPU_ALLOC(n) ((cpu_set_t *)(calloc)(1,CPU_ALLOC_SIZE(n))) -+#define CPU_FREE(set) (free)(set) - - #define CPU_SETSIZE 1024 -