openwrt/toolchain
Hannu Nyman 87d7fa8885 toolchain/musl: Update to 1.2.5
Update musl C library to 1.2.5

This release adds extension functions statx and preadv2/pwritev2,
with fallback implementations for older kernels, and adds two new
ports: loongarch64 and riscv32. Minor changes to the printf family
of functions have been made for conformance to new standards
interpretations/requirements. TLSDESC support for riscv64 has also
been added.

Bugs fixed include some DNS issues related to new TCP fallback
functionality, several rare race conditions, potentially incorrect
return value when glob aborts, and several signifiant arch-specific
bugs affecting TLSDESC on arm, riscv64 icache flushing, and
sh sigsetjmp and dlsym RTLD_NEXT.

1.2.5 release notes:

new features:
- statx function (linux extension; via syscall and fallback using fstatat)
- clone function is now usable and gives _Fork-like consistency in child
- statvfs now provides f_type result
- preadv2 and pwritev2 (linux extension) syscall wrappers
- riscv64 TLSDESC support

new ports:
- loongarch64
- riscv32

compatibility:
- DNS resolver can now handle answers with long CNAME chains
- string.h no longer provides (C23-incompat) non-prototype decl of basename
- fstatat statx backend now matches stat syscall non-automounting behavior
- mntent interfaces now handle escaped whitespace in paths/options

standards updates:
- printf %lc of nul wchar now produces output
- snprintf and swprintf no longer fail on n > INT_MAX
- ppoll is now exposed in default feature profile

bugs fixed:
- some long DNS answers were wrongly rejected despite new TCP support
- glob could wrongly return GLOB_NOMATCH if aborted before any matches
- multithreaded set*id could malfunction from thread sequencing logic bug
- certain use of threads after fork could deadlock thread-list lock
- posix_spawn child could deadlock in race with async parent death
- mbrtowc return value was wrong if argument n exceeded UINT_MAX
- 80-bit extended acoshl and powl got some corner cases wrong
- syslog incorrectly generated localized timestamps

arch-specific bugs fixed:
- arm (32-bit) TLSDESC malfunctioned due to addends being processed wrong
- riscv64 icache flush operation was non-functional
- sh sigsetjmp failed to properly restore call-saved register r8 on return
- sh dlsym RTLD_NEXT did not identify calling module correctly

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
[Removed patch adding basename hack again]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-04-14 17:38:09 +02:00
..
binutils toolchain: binutils: backport patch to fix mipsel_24kc_24kf 2024-04-02 21:42:23 +02:00
fortify-headers fortify-headers: add __extension__ mark to strings.h 2023-07-12 20:24:56 +02:00
gcc config: fix CONFIG_GDB appearing in main menuconfig menu 2024-04-09 19:30:41 +02:00
gdb toolchain/gdb: add pthread to CFLAGS/LDFLAGS for zstd 2023-12-19 10:54:19 +01:00
glibc toolchain: glibc: Update glibc 2.37 to recent HEAD 2024-02-10 12:52:09 +01:00
kernel-headers toolchain: assign PKG_CPE_ID 2023-09-19 20:22:59 +02:00
mold toolchain: add mold as additional linker 2023-07-04 20:25:41 +02:00
musl toolchain/musl: Update to 1.2.5 2024-04-14 17:38:09 +02:00
nasm toolchain: assign PKG_CPE_ID 2023-09-19 20:22:59 +02:00
wrapper buildroot: allow specifying libc personality for external toolchains 2013-02-20 15:06:10 +00:00
build_version toolchain: add a version that can be bumped to force toolchain/target rebuild 2021-11-16 22:02:45 +01:00
Config.in scripts/ext-toolchain: implement external GCC version detection 2023-10-20 16:13:31 +02:00
info.mk uClibc cleanup: - use full version string (0.9.30.1), instead of base (0.9.30) + extra (.1) - remove support for 0.9.28 and snapshots (building from SVN to be added later) 2009-04-24 02:07:24 +00:00
Makefile toolchain: add mold as additional linker 2023-07-04 20:25:41 +02:00