update musl from v1.2.3 to v1.2.4
Musl v1.2.4 release notes
This release adds TCP fallback to the DNS stub resolver, fixing the
longstanding inability to query large DNS records and incompatibility
with recursive nameservers that don't give partial results in
truncated UDP responses. It also makes a number of other bug fixes and
improvements in DNS and related functionality, including making both
the modern and legacy API results differentiate between NODATA and
NxDomain conditions so that the caller can handle them differently.
On the API level, the legacy "LFS64" ("large file support")
interfaces, which were provided by macros remapping them to their
standard names (#define stat64 stat and similar) have been
deprecated and are no longer provided under the _GNU_SOURCE feature
profile, only under explicit _LARGEFILE64_SOURCE. The latter will
also be removed in a future version. Builds broken by this change can
be fixed short-term by adding -D_LARGEFILE64_SOURCE to CFLAGS, but
should be fixed to use the standard interfaces.
The dynamic linker (and static-PIE entry point code) adds support for the new compact "RELR" format for relative relocations which recent linkers can generate. Use of this linker feature for dynamic-linked programs will make them depend on having musl 1.2.4 or later available at runtime. Static-linkied PIE binaries using it, as always, are self-contained and have no such dependency.
A large number of bugs have been fixed, including many in the wide
printf family of functions, incorrect ordering of digits vs
non-digits in strverscmp, and several rare race-condition corner
cases in thread synchronization logic at thread exit time, in
multi-threaded fork, pthread_detach, and POSIX semaphores.
nitpick: how about changing the subject to "update musl from v1.2.3 to v1.2.4"?
Looks at a glance like the failing wasm test might be fixed by #16103