diff mbox series

toolchain: musl: Update to version 1.2.3

Message ID 20220410221151.1225381-1-hauke@hauke-m.de
State Accepted
Delegated to: Hauke Mehrtens
Headers show
Series toolchain: musl: Update to version 1.2.3 | expand

Commit Message

Hauke Mehrtens April 10, 2022, 10:11 p.m. UTC
Changes:
new features:
- qsort_r function (POSIX-future)
- pthread_getname_np extension function
- hard float on SPE FPU for powerpc-sf
- SEEK_DATA and SEEK_HOLE exposed in unistd.h (Linux extensions)

compatibility:
- free now preserves errno (POSIX-future requirement)
- setjmp is declared explicitly with returns_twice for non-GCC compilers
- macro version of isascii is no longer defined for C++
- dynamic linker now tolerates zero-length LOAD segments
- epoll_[p]wait is now a cancellation point
- pwd/grp functions no longer fail on systems without AF_UNIX support
- POSIX TZ parsing is stricter to allow more names to fallback to files
- NULL is now defined as nullptr when used in C++11 or later
- gettext now accepts null pointer as argument

bugs fixed:
- old regression in wcwidth of Hangul combining (vowel/final) letters
- duplocale used wrong malloc when malloc was replaced (1.2.2 regression)
- fmaf rounded wrong on archs without FE_TOWARDZERO (all softfloat archs)
- popen didn't honor requirement not to leak other popen pipe fds to child
- aligned_alloc and variants crashed on allocation failure
- dl_iterate_phdr reported incorrect module TLS pointers
- mishandling of some inputs in acoshf and expm1f and functions using them
- potentially wrong-sign zero in cproj functions at infinity
- multiple bugs in legacy function cuserid
- minor posix_spawn file actions API conformance issues
- pthread_setname_np fd leak
- out-of-bound read in zoneinfo handling with distant-past times
- out-of-tree builds lacked generated debug cfi for x86 asm

arch-specific bugs fixed:
- powerpc (32-bit) struct shmid_ds layout was wrong for some fields
- time64 struct layout was wrong in sound ioctl fallback (32-bit archs)

In addition it contains the following improvements:
* protect stack canary from leak via read-as-string by zeroing second byte
* fix excessively slow TLS performance on some mips models

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---

I would prefer to add this to OpenWrt 22.03 too. This contains mostly
bugfixes which look useful also for OpenWrt 22.03.

 toolchain/musl/common.mk                               | 4 ++--
 toolchain/musl/patches/110-read_timezone_from_fs.patch | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

Comments

Rui Salvaterra April 11, 2022, 9:05 a.m. UTC | #1
Hi, Hauke,

On Sun, 10 Apr 2022 at 23:14, Hauke Mehrtens <hauke@hauke-m.de> wrote:

[changelog snipped]

Nice! I've been polling the musl site from time too to check for new
releases, this one was long overdue. :)

> I would prefer to add this to OpenWrt 22.03 too. This contains mostly
> bugfixes which look useful also for OpenWrt 22.03.

For 22.03, this is definitely

Acked-by: Rui Salvaterra <rsalvaterra@gmail.com>

Running without issues on my Omnia (master, though), so it's also

Tested-by: Rui Salvaterra <rsalvaterra@gmail.com>

Thanks,
Rui
Koen Vandeputte April 11, 2022, 12:11 p.m. UTC | #2
Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>

Tested on ath79 (mikrotik)
diff mbox series

Patch

diff --git a/toolchain/musl/common.mk b/toolchain/musl/common.mk
index 0f42a9eb603d..040127c3bccd 100644
--- a/toolchain/musl/common.mk
+++ b/toolchain/musl/common.mk
@@ -8,12 +8,12 @@  include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/target.mk
 
 PKG_NAME:=musl
-PKG_VERSION:=1.2.2
+PKG_VERSION:=1.2.3
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://musl.libc.org/releases/
-PKG_HASH:=9b969322012d796dc23dda27a35866034fa67d8fb67e0e2c45c913c3d43219dd
+PKG_HASH:=7d5b0b6062521e4627e099e4c9dc8248d32a30285e959b7eecaa780cf8cfd4a4
 
 LIBC_SO_VERSION:=$(PKG_VERSION)
 PATCH_DIR:=$(PATH_PREFIX)/patches
diff --git a/toolchain/musl/patches/110-read_timezone_from_fs.patch b/toolchain/musl/patches/110-read_timezone_from_fs.patch
index a1f54db55199..e1d0f3ac7a40 100644
--- a/toolchain/musl/patches/110-read_timezone_from_fs.patch
+++ b/toolchain/musl/patches/110-read_timezone_from_fs.patch
@@ -1,6 +1,6 @@ 
 --- a/src/time/__tz.c
 +++ b/src/time/__tz.c
-@@ -31,6 +31,9 @@ static int r0[5], r1[5];
+@@ -32,6 +32,9 @@ static int r0[5], r1[5];
  static const unsigned char *zi, *trans, *index, *types, *abbrevs, *abbrevs_end;
  static size_t map_size;
  
@@ -10,7 +10,7 @@ 
  static char old_tz_buf[32];
  static char *old_tz = old_tz_buf;
  static size_t old_tz_size = sizeof old_tz_buf;
-@@ -132,6 +135,15 @@ static void do_tzset()
+@@ -133,6 +136,15 @@ static void do_tzset()
  		"/usr/share/zoneinfo/\0/share/zoneinfo/\0/etc/zoneinfo/\0";
  
  	s = getenv("TZ");