commit 6bb576d

Michael Forney  ·  2026-03-20 20:59:09 +0000 UTC
parent af68fce
musl: Update to 1.2.6
13 files changed,  +16, -210
+1, -5
 1@@ -41,7 +41,7 @@ return {
 2 		'src/signal/aarch64/sigsetjmp.s',
 3 		'src/string/aarch64/memcpy.S',
 4 		'src/string/aarch64/memset.S',
 5-		'src/thread/aarch64/__set_thread_area.s',
 6+		'src/thread/aarch64/__set_thread_area.c',
 7 		'src/thread/aarch64/__unmapself.s',
 8 		'src/thread/aarch64/clone.s',
 9 		'src/thread/aarch64/syscall_cp.s',
10@@ -53,12 +53,8 @@ return {
11 		'float.h',
12 		'hwcap.h',
13 		'mman.h',
14-		'posix.h',
15-		'reg.h',
16 		'setjmp.h',
17 		'signal.h',
18-		'stat.h',
19-		'stdint.h',
20 		'user.h',
21 	},
22 }
+7, -1
 1@@ -258,6 +258,7 @@ return {
 2 		'src/linux/readahead.c',
 3 		'src/linux/reboot.c',
 4 		'src/linux/remap_file_pages.c',
 5+		'src/linux/renameat2.c',
 6 		'src/linux/sbrk.c',
 7 		'src/linux/sendfile.c',
 8 		'src/linux/setfsgid.c',
 9@@ -1089,6 +1090,7 @@ return {
10 		'src/termios/cfgetospeed.c',
11 		'src/termios/cfmakeraw.c',
12 		'src/termios/cfsetospeed.c',
13+		'src/termios/cfsetspeed.c',
14 		'src/termios/tcdrain.c',
15 		'src/termios/tcflow.c',
16 		'src/termios/tcflush.c',
17@@ -1142,8 +1144,8 @@ return {
18 		'src/thread/pthread_cancel.c',
19 		'src/thread/pthread_cleanup_push.c',
20 		'src/thread/pthread_cond_broadcast.c',
21-		'src/thread/pthread_cond_destroy.c',
22 		'src/thread/pthread_cond_clockwait.c',
23+		'src/thread/pthread_cond_destroy.c',
24 		'src/thread/pthread_cond_init.c',
25 		'src/thread/pthread_cond_signal.c',
26 		'src/thread/pthread_cond_timedwait.c',
27@@ -1235,6 +1237,7 @@ return {
28 		'src/time/__secs_to_tm.c',
29 		'src/time/__tm_to_secs.c',
30 		'src/time/__tz.c',
31+		'src/time/__utc.c',
32 		'src/time/__year_to_secs.c',
33 		'src/time/asctime.c',
34 		'src/time/asctime_r.c',
35@@ -1560,12 +1563,15 @@ return {
36 		'msg.h',
37 		'poll.h',
38 		'ptrace.h',
39+		'reg.h',
40 		'resource.h',
41 		'sem.h',
42 		'shm.h',
43 		'socket.h',
44 		'soundcard.h',
45+		'stat.h',
46 		'statfs.h',
47+		'stdint.h',
48 		'termios.h',
49 		'vt.h',
50 	},
+6, -6
 1@@ -1,4 +1,4 @@
 2-From 3c3a5a3208341615cefc3be9383e04cab32f9bfb Mon Sep 17 00:00:00 2001
 3+From 8029fd64b5b3f2c64b74fd65ec62b80bae773ae8 Mon Sep 17 00:00:00 2001
 4 From: Michael Forney <mforney@mforney.org>
 5 Date: Tue, 26 Oct 2021 15:27:31 -0700
 6 Subject: [PATCH] use preferred syntactic location for epoll_event packed
 7@@ -9,10 +9,10 @@ Subject: [PATCH] use preferred syntactic location for epoll_event packed
 8  1 file changed, 5 insertions(+), 5 deletions(-)
 9 
10 diff --git a/include/sys/epoll.h b/include/sys/epoll.h
11-index ac81a841..de4fe0e7 100644
12+index 5f975c4a..bdb43201 100644
13 --- a/include/sys/epoll.h
14 +++ b/include/sys/epoll.h
15-@@ -45,14 +45,14 @@ typedef union epoll_data {
16+@@ -46,14 +46,14 @@ typedef union epoll_data {
17  	uint64_t u64;
18  } epoll_data_t;
19  
20@@ -30,8 +30,8 @@ index ac81a841..de4fe0e7 100644
21 +	epoll_data_t data;
22 +};
23  
24- 
25- int epoll_create(int);
26+ struct epoll_params {
27+ 	uint32_t busy_poll_usecs;
28 -- 
29-2.32.0
30+2.49.0
31 
+0, -38
 1@@ -1,38 +0,0 @@
 2-From 68480ab0b8c0477929f92387a8880d941917df49 Mon Sep 17 00:00:00 2001
 3-From: Rich Felker <dalias@aerifal.cx>
 4-Date: Sun, 9 Feb 2025 10:07:19 -0500
 5-Subject: [PATCH] iconv: fix erroneous input validation in EUC-KR decoder
 6-
 7-as a result of incorrect bounds checking on the lead byte being
 8-decoded, certain invalid inputs which should produce an encoding
 9-error, such as "\xc8\x41", instead produced out-of-bounds loads from
10-the ksc table.
11-
12-in a worst case, the loaded value may not be a valid unicode scalar
13-value, in which case, if the output encoding was UTF-8, wctomb would
14-return (size_t)-1, causing an overflow in the output pointer and
15-remaining buffer size which could clobber memory outside of the output
16-buffer.
17-
18-bug report was submitted in private by Nick Wellnhofer on account of
19-potential security implications.
20----
21- src/locale/iconv.c | 2 +-
22- 1 file changed, 1 insertion(+), 1 deletion(-)
23-
24-diff --git a/src/locale/iconv.c b/src/locale/iconv.c
25-index 175def1c..25743a20 100644
26---- a/src/locale/iconv.c
27-+++ b/src/locale/iconv.c
28-@@ -495,7 +495,7 @@ size_t iconv(iconv_t cd, char **restrict in, size_t *restrict inb, char **restri
29- 			if (c >= 93 || d >= 94) {
30- 				c += (0xa1-0x81);
31- 				d += 0xa1;
32--				if (c >= 93 || c>=0xc6-0x81 && d>0x52)
33-+				if (c > 0xc6-0x81 || c==0xc6-0x81 && d>0x52)
34- 					goto ilseq;
35- 				if (d-'A'<26) d = d-'A';
36- 				else if (d-'a'<26) d = d-'a'+26;
37--- 
38-2.45.2
39-
R pkg/musl/patch/0005-trim-spaces-of-pthread_cond_timedwait.c-and-pthread_.patch => pkg/musl/patch/0003-trim-spaces-of-pthread_cond_timedwait.c-and-pthread_.patch
+0, -0
R pkg/musl/patch/0006-Rename-files-for-implement-pthread_mutex_clocklock-a.patch => pkg/musl/patch/0004-Rename-files-for-implement-pthread_mutex_clocklock-a.patch
+0, -0
+0, -37
 1@@ -1,37 +0,0 @@
 2-From aa8be5038707f4b1a79612d16f7117445dbd5a12 Mon Sep 17 00:00:00 2001
 3-From: Rich Felker <dalias@aerifal.cx>
 4-Date: Wed, 12 Feb 2025 17:06:30 -0500
 5-Subject: [PATCH] iconv: harden UTF-8 output code path against input decoder
 6- bugs
 7-
 8-the UTF-8 output code was written assuming an invariant that iconv's
 9-decoders only emit valid Unicode Scalar Values which wctomb can encode
10-successfully, thereby always returning a value between 1 and 4.
11-
12-if this invariant is not satisfied, wctomb returns (size_t)-1, and the
13-subsequent adjustments to the output buffer pointer and remaining
14-output byte count overflow, moving the output position backwards,
15-potentially past the beginning of the buffer, without storing any
16-bytes.
17----
18- src/locale/iconv.c | 4 ++++
19- 1 file changed, 4 insertions(+)
20-
21-diff --git a/src/locale/iconv.c b/src/locale/iconv.c
22-index 25743a20..3dd9fd90 100644
23---- a/src/locale/iconv.c
24-+++ b/src/locale/iconv.c
25-@@ -538,6 +538,10 @@ size_t iconv(iconv_t cd, char **restrict in, size_t *restrict inb, char **restri
26- 				if (*outb < k) goto toobig;
27- 				memcpy(*out, tmp, k);
28- 			} else k = wctomb_utf8(*out, c);
29-+			/* This failure condition should be unreachable, but
30-+			 * is included to prevent decoder bugs from translating
31-+			 * into advancement outside the output buffer range. */
32-+			if (k>4) goto ilseq;
33- 			*out += k;
34- 			*outb -= k;
35- 			break;
36--- 
37-2.45.2
38-
R pkg/musl/patch/0007-add-pthread_mutex_clocklock-and-pthread_cond_clockdw.patch => pkg/musl/patch/0005-add-pthread_mutex_clocklock-and-pthread_cond_clockdw.patch
+0, -0
+0, -90
 1@@ -1,90 +0,0 @@
 2-From c926062544498d920fec3c586e5eaa5e941ceafd Mon Sep 17 00:00:00 2001
 3-From: Rich Felker <dalias@aerifal.cx>
 4-Date: Wed, 8 May 2024 08:50:03 -0400
 5-Subject: [PATCH] implement posix_getdents adopted for next issue of POSIX
 6-
 7-this interface was added as the outcome of Austin Group tracker issue
 8-697. no error is specified for unsupported flags, which is probably an
 9-oversight. for now, EOPNOTSUPP is used so as not to overload EINVAL.
10----
11- include/dirent.h            | 18 +++++++++++++++---
12- src/dirent/posix_getdents.c | 11 +++++++++++
13- 2 files changed, 26 insertions(+), 3 deletions(-)
14- create mode 100644 src/dirent/posix_getdents.c
15-
16-diff --git a/include/dirent.h b/include/dirent.h
17-index 2d8fffb2..7fa60e06 100644
18---- a/include/dirent.h
19-+++ b/include/dirent.h
20-@@ -9,14 +9,23 @@ extern "C" {
21- 
22- #define __NEED_ino_t
23- #define __NEED_off_t
24--#if defined(_BSD_SOURCE) || defined(_GNU_SOURCE)
25- #define __NEED_size_t
26--#endif
27-+#define __NEED_ssize_t
28- 
29- #include <bits/alltypes.h>
30- 
31- #include <bits/dirent.h>
32- 
33-+typedef unsigned short reclen_t;
34-+
35-+struct posix_dent {
36-+	ino_t d_ino;
37-+	off_t d_off;
38-+	reclen_t d_reclen;
39-+	unsigned char d_type;
40-+	char d_name[];
41-+};
42-+
43- typedef struct __dirstream DIR;
44- 
45- #define d_fileno d_ino
46-@@ -29,6 +38,8 @@ int            readdir_r(DIR *__restrict, struct dirent *__restrict, struct dire
47- void           rewinddir(DIR *);
48- int            dirfd(DIR *);
49- 
50-+ssize_t posix_getdents(int, void *, size_t, int);
51-+
52- int alphasort(const struct dirent **, const struct dirent **);
53- int scandir(const char *, struct dirent ***, int (*)(const struct dirent *), int (*)(const struct dirent **, const struct dirent **));
54- 
55-@@ -37,7 +48,6 @@ void           seekdir(DIR *, long);
56- long           telldir(DIR *);
57- #endif
58- 
59--#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
60- #define DT_UNKNOWN 0
61- #define DT_FIFO 1
62- #define DT_CHR 2
63-@@ -47,6 +57,8 @@ long           telldir(DIR *);
64- #define DT_LNK 10
65- #define DT_SOCK 12
66- #define DT_WHT 14
67-+
68-+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
69- #define IFTODT(x) ((x)>>12 & 017)
70- #define DTTOIF(x) ((x)<<12)
71- int getdents(int, struct dirent *, size_t);
72-diff --git a/src/dirent/posix_getdents.c b/src/dirent/posix_getdents.c
73-new file mode 100644
74-index 00000000..b19e8127
75---- /dev/null
76-+++ b/src/dirent/posix_getdents.c
77-@@ -0,0 +1,11 @@
78-+#include <dirent.h>
79-+#include <limits.h>
80-+#include <errno.h>
81-+#include "syscall.h"
82-+
83-+int posix_getdents(int fd, void *buf, size_t len, int flags)
84-+{
85-+	if (flags) return __syscall_ret(-EOPNOTSUPP);
86-+	if (len>INT_MAX) len = INT_MAX;
87-+	return syscall(SYS_getdents, fd, buf, len);
88-+}
89--- 
90-2.49.0
91-
+0, -29
 1@@ -1,29 +0,0 @@
 2-From ecb9e060f7f5bc596b9be8043bba33840c85bc5a Mon Sep 17 00:00:00 2001
 3-From: Rich Felker <dalias@aerifal.cx>
 4-Date: Sun, 12 May 2024 15:33:15 -0400
 5-Subject: [PATCH] fix mismatched type in posix_getdents definition
 6-
 7-commit 1b0d48517f816e98f19111df82f32bfc1608ecec wrongly copied the
 8-getdents return type of int rather than matching the ssize_t used by
 9-posix_getdents. this was overlooked in testing on 32-bit archs but
10-obviously broke 64-bit archs.
11----
12- src/dirent/posix_getdents.c | 2 +-
13- 1 file changed, 1 insertion(+), 1 deletion(-)
14-
15-diff --git a/src/dirent/posix_getdents.c b/src/dirent/posix_getdents.c
16-index b19e8127..26c16ac6 100644
17---- a/src/dirent/posix_getdents.c
18-+++ b/src/dirent/posix_getdents.c
19-@@ -3,7 +3,7 @@
20- #include <errno.h>
21- #include "syscall.h"
22- 
23--int posix_getdents(int fd, void *buf, size_t len, int flags)
24-+ssize_t posix_getdents(int fd, void *buf, size_t len, int flags)
25- {
26- 	if (flags) return __syscall_ret(-EOPNOTSUPP);
27- 	if (len>INT_MAX) len = INT_MAX;
28--- 
29-2.49.0
30-
+1, -1
1@@ -1 +1 @@
2-Subproject commit 0784374d561435f7c787a555aeab8ede699ed298
3+Subproject commit 9fa28ece75d8a2191de7c5bb53bed224c5947417
+1, -1
1@@ -1 +1 @@
2-1.2.5 r3
3+1.2.6
+0, -2
 1@@ -57,14 +57,12 @@ return {
 2 		'io.h',
 3 		'limits.h',
 4 		'mman.h',
 5-		'posix.h',
 6 		'ptrace.h',
 7 		'reg.h',
 8 		'sem.h',
 9 		'setjmp.h',
10 		'signal.h',
11 		'stat.h',
12-		'stdint.h',
13 		'user.h',
14 	},
15 }