Skip to content

Commit 79a9b40

Browse files
committed
Update to musl 1.1.24.
See the WHATSNEW file for details; this doesn't have any major changes for wasi-libc; in particular, the new catgets and GLOB_TILDE features are disabled.
1 parent e1149ab commit 79a9b40

227 files changed

Lines changed: 2472 additions & 1071 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

expected/wasm32-wasi/defined-symbols.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ __log2_data
139139
__log2f_data
140140
__log_data
141141
__logf_data
142+
__lseek
142143
__math_divzero
143144
__math_divzerof
144145
__math_invalid

expected/wasm32-wasi/predefined-macros.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -597,8 +597,8 @@
597597
#define ILL_PRVOPC 5
598598
#define ILL_PRVREG 6
599599
#define IN6ADDRSZ NS_IN6ADDRSZ
600-
#define IN6ADDR_ANY_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } }
601-
#define IN6ADDR_LOOPBACK_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } }
600+
#define IN6ADDR_ANY_INIT { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }
601+
#define IN6ADDR_LOOPBACK_INIT { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 } }
602602
#define IN6_ARE_ADDR_EQUAL(a,b) __ARE_4_EQUAL((const uint32_t *)(a), (const uint32_t *)(b))
603603
#define IN6_IS_ADDR_LINKLOCAL(a) ((((uint8_t *) (a))[0]) == 0xfe && (((uint8_t *) (a))[1] & 0xc0) == 0x80)
604604
#define IN6_IS_ADDR_LOOPBACK(a) (((uint32_t *) (a))[0] == 0 && ((uint32_t *) (a))[1] == 0 && ((uint32_t *) (a))[2] == 0 && ((uint8_t *) (a))[12] == 0 && ((uint8_t *) (a))[13] == 0 && ((uint8_t *) (a))[14] == 0 && ((uint8_t *) (a))[15] == 1 )

libc-bottom-half/cloudlibc/src/libc/unistd/lseek.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ static_assert(SEEK_CUR == __WASI_WHENCE_CUR, "Value mismatch");
1111
static_assert(SEEK_END == __WASI_WHENCE_END, "Value mismatch");
1212
static_assert(SEEK_SET == __WASI_WHENCE_SET, "Value mismatch");
1313

14-
#ifdef __wasilibc_unmodified_upstream /* Optimize the readonly case of lseek */
14+
#ifdef __wasilibc_unmodified_upstream // Provide an __lseek entry point
1515
off_t lseek(int fildes, off_t offset, int whence) {
1616
#else
17-
off_t (lseek)(int fildes, off_t offset, int whence) {
17+
off_t __lseek(int fildes, off_t offset, int whence) {
1818
#endif
1919
__wasi_filesize_t new_offset;
2020
__wasi_errno_t error =
@@ -25,3 +25,8 @@ off_t (lseek)(int fildes, off_t offset, int whence) {
2525
}
2626
return new_offset;
2727
}
28+
29+
#ifdef __wasilibc_unmodified_upstream // Provide an __lseek entry point
30+
#else
31+
extern __typeof(__lseek) lseek __attribute__((weak, alias("__lseek")));
32+
#endif

libc-bottom-half/headers/public/__header_netinet_in.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,18 @@
1313
#define IPPROTO_IPV6 41
1414
#define IPPROTO_RAW 255
1515

16+
#define IN6ADDR_ANY_INIT { { \
17+
0x00, 0x00, 0x00, 0x00, \
18+
0x00, 0x00, 0x00, 0x00, \
19+
0x00, 0x00, 0x00, 0x00, \
20+
0x00, 0x00, 0x00, 0x00 \
21+
} }
22+
23+
#define IN6ADDR_LOOPBACK_INIT { { \
24+
0x00, 0x00, 0x00, 0x00, \
25+
0x00, 0x00, 0x00, 0x00, \
26+
0x00, 0x00, 0x00, 0x00, \
27+
0x00, 0x00, 0x00, 0x01 \
28+
} }
29+
1630
#endif

libc-bottom-half/headers/public/__struct_in6_addr.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#define __wasilibc___struct_in6_addr_h
33

44
struct in6_addr {
5-
_Alignas(long) unsigned char s6_addr[16];
5+
_Alignas(int32_t) unsigned char s6_addr[16];
66
};
77

88
#endif

libc-top-half/musl/COPYRIGHT

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,8 @@ Copyright © 1993,2004 Sun Microsystems or
122122
Copyright © 2003-2011 David Schultz or
123123
Copyright © 2003-2009 Steven G. Kargl or
124124
Copyright © 2003-2009 Bruce D. Evans or
125-
Copyright © 2008 Stephen L. Moshier
125+
Copyright © 2008 Stephen L. Moshier or
126+
Copyright © 2017-2018 Arm Limited
126127
and labelled as such in comments in the individual source files. All
127128
have been licensed under extremely permissive terms.
128129

libc-top-half/musl/INSTALL

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,13 @@ and ABI combinations:
5555
* Little-endian default; big-endian variants also supported
5656

5757
* MIPS
58-
* ABI is o32
58+
* ABI is o32, fp32/fpxx (except on r6 which is fp64)
5959
* Big-endian default; little-endian variants also supported
6060
* Default ABI variant uses FPU registers; alternate soft-float ABI
6161
that does not use FPU registers or instructions is available
6262
* MIPS2 or later, or kernel emulation of ll/sc (standard in Linux)
6363
is required
64+
* MIPS32r6, an incompatible ISA, is supported as a variant "mipsr6"
6465

6566
* MIPS64
6667
* ABI is n64 (LP64) or n32 (ILP32)

libc-top-half/musl/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.1.23
1+
1.1.24

libc-top-half/musl/WHATSNEW

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2115,3 +2115,52 @@ arch-specfic bugs fixed:
21152115
- passing of 64-bit syscall arguments was broken on microblaze
21162116
- posix_fadvise was broken on mips due to missing 7-arg syscall support
21172117
- vrregset_t layout and member naming was wrong on powerpc64
2118+
2119+
2120+
2121+
1.1.24 release notes
2122+
2123+
new features:
2124+
- GLOB_TILDE extension to glob
2125+
- non-stub catgets localization API, using netbsd binary catalog format
2126+
- posix_spawn file actions for [f]chdir (extension, pending future standard)
2127+
- secure_getenv function (extension)
2128+
- copy_file_range syscall wrapper (Linux extension)
2129+
- header-level support for new linux features in 5.2
2130+
2131+
performance:
2132+
- new fast path for lrint (generic C version) on 32-bit archs
2133+
2134+
major internal changes:
2135+
- functions involving time are overhauled to be time64-ready in 32-bit archs
2136+
- x32 uses the new time64 code paths to replace nasty hacks in syscall glue
2137+
2138+
compatibility & conformance:
2139+
- support for powerpc[64] unaligned relocation types
2140+
- powerpc[64] and sh sys/user.h no longer clash with kernel asm/ptrace.h
2141+
- select no longer modifies timeout on failure (or at all)
2142+
- mips64 stat results are no longer limited to 32-bit time range
2143+
- optreset (BSD extension) now has a public declaration
2144+
- support for clang inconsistencies in wchar_t type vs some 32-bit archs
2145+
- mips r6 syscall asm no longer has invalid lo/hi register clobbers
2146+
- vestigial asm declarations of __tls_get_new are removed (broke some tooling)
2147+
- riscv64 mcontext_t mismatch glibc's member naming is corrected
2148+
2149+
bugs fixed:
2150+
- glob failed to match broken symlinks consistently
2151+
- invalid use of interposed calloc to allocate initial TLS
2152+
- various dlsym symbol resolution logic errors
2153+
- semctl with SEM_STAT_ANY didn't work
2154+
- pthread_create with explicit scheduling was subject to priority inversion
2155+
- pthread_create failure path had data race for thread count
2156+
- timer_create with SIGEV_THREAD notification had data race getting timer id
2157+
- wide printf family failed to support l modifier for float formats
2158+
2159+
arch-specific bugs fixed:
2160+
- x87 floating point stack imbalance in math asm (i386-only CVE-2019-14697)
2161+
- x32 clock_adjtime, getrusage, wait3, wait4 produced junk (struct mismatches)
2162+
- lseek broken on x32 and mipsn32 with large file offsets
2163+
- riscv64 atomics weren't compiler barriers
2164+
- riscv64 atomics had broken asm constraints (missing earlyclobber flag)
2165+
- arm clone() was broken when compiled as thumb if start function returned
2166+
- mipsr6 setjmp/longjmp did not preserve fpu register state correctly

libc-top-half/musl/arch/aarch64/bits/hwcap.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,11 @@
3030
#define HWCAP_SB (1 << 29)
3131
#define HWCAP_PACA (1 << 30)
3232
#define HWCAP_PACG (1UL << 31)
33+
34+
#define HWCAP2_DCPODP (1 << 0)
35+
#define HWCAP2_SVE2 (1 << 1)
36+
#define HWCAP2_SVEAES (1 << 2)
37+
#define HWCAP2_SVEPMULL (1 << 3)
38+
#define HWCAP2_SVEBITPERM (1 << 4)
39+
#define HWCAP2_SVESHA3 (1 << 5)
40+
#define HWCAP2_SVESM4 (1 << 6)

0 commit comments

Comments
 (0)