Update to Musl 1.2.6, setup git subtrees #797
Open
alexcrichton wants to merge 7 commits intoWebAssembly:mainfrom
Open
Update to Musl 1.2.6, setup git subtrees #797alexcrichton wants to merge 7 commits intoWebAssembly:mainfrom
alexcrichton wants to merge 7 commits intoWebAssembly:mainfrom
Conversation
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 subtreecommand in the future. Thelibc-top-half/README.mdfile 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:
libc-top-half/musldirectory is deleted entirely, including all changes made for wasi-libc.git subtree add. This creates themusldirectory in a pristine state at 1.2.5main, meaning that the diff from main is nothing. Git history is in place though forgit subtreegit subtree pullto update to Musl 1.2.6. I've edited the merge commit myself quite a bit to resolve conflicts.The end result is that
git subtree pullcan be used in the future to update the musl subtree with conflict markers and everything making it easy to see what changed.