Skip to content

Update to Musl 1.2.6, setup git subtrees #797

Open
alexcrichton wants to merge 7 commits intoWebAssembly:mainfrom
alexcrichton:subtrees
Open

Update to Musl 1.2.6, setup git subtrees #797
alexcrichton wants to merge 7 commits intoWebAssembly:mainfrom
alexcrichton:subtrees

Conversation

@alexcrichton
Copy link
Copy Markdown
Collaborator

This is a series of commits which culminates in the update to Musl 1.2.6. In order to make this a bit more automatic in the future as well I've setup the git history here to be able to use the git subtree command in the future. The libc-top-half/README.md file documents this information and how to update in the future, along with what I've executed for this PR.

The commits here are intended to stay separate and I'll use a "merge" strategy with this PR rather than squash & merge since the git commit history is intended to be important. Specifically what this is doing is:

  • d059c0d - the libc-top-half/musl directory is deleted entirely, including all changes made for wasi-libc.
  • c5991c6 and b78ff33 - commits created by git subtree add. This creates the musl directory in a pristine state at 1.2.5
  • 1065f2d reverts back to main, meaning that the diff from main is nothing. Git history is in place though for git subtree
  • 968167f and 0b361f2 - created by git subtree pull to update to Musl 1.2.6. I've edited the merge commit myself quite a bit to resolve conflicts.
  • 93f1ec6 - a final commit with minor build fixes, symbol updates, etc.

The end result is that git subtree pull can be used in the future to update the musl subtree with conflict markers and everything making it easy to see what changed.

Leave a pristine state for the musl subtree to get added
git-subtree-dir: libc-top-half/musl
git-subtree-split: 0784374d561435f7c787a555aeab8ede699ed298
Record all our historical changes to musl in git via this commit
9fa28ece release 1.2.6
1347154c vdso: add support for GNU hash tables
149d8729 getgr*: validate group member lists from nscd backend
19f9aeaa sys/mman.h: add MADV_COLLAPSE from linux v6.1
56df2e1f sys/mman.h: add MADV_DONTNEED_LOCKED from linux v6.0
bb5693fa sys/mman.h: add MADV_POPULATE_(READ|WRITE) from linux v5.14
9355c443 loongarch64: add lsx and lasx regset definition
b5146b83 loongarch64: add fpu and simd context to signal.h
38b00812 loongarch64: add new reloc types and NT_LOONGARCH_HW_* into elf.h
b37d241d fenv: add missing C dummy functions for loongarch64 soft float
5c901bb3 update syscalls up to linux 6.19
4268281a getifaddr: fix typo ssl to sll
5c26c890 mallocng: prevent stray ';' at top-level
1b76ff07 s390x: shuffle register usage in __tls_get_offset to avoid r0 as address
0ccaf057 printf: fix buffer overflow in floating point decimal formatting
0b86d60b riscv: fix setjmp assembly when compiling for ilp32f/lp64f.
f6944eb3 powerpc[64]: fix missing ctr and xer regs in syscall asm clobberlists
a6244de1 fix erroneous definition of IN6_IS_ADDR_V4COMPAT
8fd5d031 aarch64: mask off SME and unknown/future hwcap bits
709fee55 aarch64: replace asm source file for __set_thread_area with inline asm
bd981f33 elf.h: add AT_HWCAP3 and AT_HWCAP4
f96e47a2 printf: fix regression in large double formatting on ld128 archs
caae5a8b fix register name usage in aarch64 clone.s
ab4635fb make __getauxval a public ABI symbol
fcdff46a statx: add Linux 6.11 fields/constants
18289e5d ldso: fix typo in comment
86373b49 powerpc: update HWCAP bits for Power10
fde29c04 stdio: skip empty iovec when buffering is disabled
ae3a8c93 fix strcasestr failing to find zero-length needle
23febbd3 align mbsnrtowcs behavior on partial character with new requirements
6915b348 dns resolver: reorder sockaddr union to make initialization safe
a34ca6ea termios: fix input speed handling
b6b81f69 clone: clear the frame pointer in the child process on relevant ports
5e03c03f clone: align the given stack pointer on or1k and riscv
06c5e4e8 signal: check sigpause() input parameter
b0dc340b loongarch64: add bits/hwcap.h for cpu feature bits in AT_HWCAP auxv entry
cabbd869 bind_textdomain_codeset: fix return value
00fb7107 shadow.h: remove declaration of function not implemented
362fc545 riscv: mark __restore and __restore_rt hidden
f1cda422 i386, x86_64, x32: set the symbol type for the crt1 START function
c47ad25e iconv: harden UTF-8 output code path against input decoder bugs
4c4f15da hasmntopt: match only whole options not arbitrary substrings
e5adcd97 iconv: fix erroneous input validation in EUC-KR decoder
5e594aea iconv: fix erroneous decoding of some invalid ShiftJIS sequences
6af4f25b s390x: manually inline __tls_get_addr in __tls_get_offset
5ccf05d8 ldso: don't reclaim zero-memory-sized segments
1a985764 sched.h: reduce namespace conflicts in _GNU_SOURCE profile
d36e5bf8 mq: add x32-specific implementations to work around mismatched kernel ABI
561cd07d SIGEV_THREAD timers: re-block signals when reusing kernel thread
47fa6e4f SIGEV_THREAD timers: fix fatal signal if internal SIGTIMER becomes unblocked
61399d4b loongarch64: add TLSDESC support
9b6a24f9 wire up vdso clock_gettime for riscv32 and riscv64
f2375aac wire up vdso clock_gettime for powerpc, powerpc64, and s390x
bc5f816a mips: use preferred asm mnemomic jr for better assembler compatibility
4e6c827c mntent: exclude trailing newline from parsed field
9929a571 arm: fix _init/_fini alignment in crti.o
047a1639 sys/stat.h: fix typo in statx member name stx_dio_offset_align
5be920e9 s390x: don't allow br r0 in CRTJMP asm
2fc56aaa update contributor name in authorship notices
43664364 fix compile regression in exit on archs without SYS_pause
6d8000d3 abstract missing SYS_pause syscall with macros
23ab04a8 statx: add new struct statx fields and corresponding mask macros
4ca8c267 statx: fix uninitialized attributes/mask in fallback path
251cbb63 statx: fix ENOSYS emulation not setting stx_rdev_*
8c43c562 sysconf: fix _SC_MINSIGSTKSZ computation to match kernel interpretation
300a1f53 sigaltstack: enforce dynamic MINSIGSTKSZ limit
572a2e2e printf: drastically reduce stack usage without [long] double args
c94a0c16 isatty: don't collapse all non-EBADF errors to ENOTTY
ee18e584 printf core: replace if(0) blocks around switch cases with explicit gotos
06a96470 iconv: add cp858
e1b57ede catan: remove no-op reduction mod pi and unused code
ca4e632d remove incorrect comment regarding powl exceptional cases
c851b268 strerror: add error strings for EUCLEAN and ENAVAIL
9c78557a use hidden visibility for C entry point function _start_c
882aedf6 fix lost or delayed wakes in sem_post under certain race conditions
b09e3174 m68k: fix POLLWRNORM and POLLWRBAND
2de6b426 fix missing make dependency for Scrt1.o due to typo
cde213f9 timer_create: replace pthread barrier with semaphores for thread start
9ee6f104 atexit: fail rather than deadlocking after last handler is called
8cca79a7 exit: add back lock to make concurrent calls to exit safe
ef7d0ae2 move __utc string object to its own translation unit
dd1e63c3 syslog: revert LOG_FAC/LOG_FACMASK changes
008f737d siglongjmp: document why this function just calls longjmp
947b4574 inet_ntop: fix the IPv6 leading zero sequence compression
50ab8306 dynlink: avoid copying to temp buffer in get_lfs64
1b97d006 sys/epoll.h: add epoll ioctls
ab31e9d6 getusershell: skip blank lines and comments
53ac44ff dynlink: fix get_lfs64() with posix_fallocate64
895736d4 syslog: fix incorrect LOG_MAKEPRI and LOG_FAC[MASK] macros
05ce67fe add renameat2 linux syscall wrapper
00799729 fix mismatched type in posix_getdents definition
cbf59dd6 aarch64 crti.o: fix alignment of _init/_fini
84015cee fix typo that broke sys/reg.h and sys/user.h
1b0d4851 implement posix_getdents adopted for next issue of POSIX
2c124e13 stdint.h: derive limits from __LONG_MAX, use common fast16 types
7019fbe1 sys/user.h: derive __WORDSIZE from __LONG_MAX
e709a6f0 sys/reg.h: derive __WORDSIZE from __LONG_MAX
29b216b2 unistd.h: derive ILP32/LP64 macros from __LONG_MAX instead of arch bits
0dfa1d8c unify bits/stat.h for all archs sharing a common definition
ef600888 align aarch64, riscv64, loongarch64 stat structure padding type
6f666231 ldso: fix non-functional fix to early dynamic PAGE_SIZE access
fced99e9 strptime: implement conversion specifiers adopted for next POSIX issue
3f9d4224 printf decimal integer formatting: shave off one division
a23cf8f9 riscv mcontext_t/sigcontext: use __aligned__ instead of aligned
cbf1c7b6 add missing STATX_ATTR_* macros omitted when statx was added
3f49203c initgroups: do not artificially limit number of supplementary groups
24ebbbde printf: fix edge case where hex float precision was not honored
e3b0ace5 complex: fix comment in cacosh
9683bd62 math: fix fma(x,y,0) when x*y rounds to -0
5370070f fix pwrite/pwritev handling of O_APPEND files
bdc9a9ff uio.h: add RWF_NOAPPEND flag for pwritev2
7ada6dde iconv: fix missing bounds checking for shift_jis decoding
fd7d0185 add missing inline keyword on default a_barrier definition
b5121e2e iconv: add aliases for GBK
ca6f46af iconv: add euro symbol to GBK as single byte 0x80

git-subtree-dir: libc-top-half/musl
git-subtree-split: 9fa28ece75d8a2191de7c5bb53bed224c5947417
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant