Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update musl to 1.1.24 #73089

Merged
merged 1 commit into from
Jun 14, 2020
Merged

Update musl to 1.1.24 #73089

merged 1 commit into from
Jun 14, 2020

Conversation

tmiasko
Copy link
Contributor

@tmiasko tmiasko commented Jun 7, 2020

Release notes since previous version 1.1.22:

1.1.23 release notes

new features:

  • riscv64 port
  • configure now allows customizing AR and RANLIB vars
  • header-level support for new linux features in 5.1

major internal changes:

  • removed extern __syscall; syscall header code is now fully self-contained

performance:

  • new math library implementation for log/exp/pow
  • aarch64 dynamic tlsdesc function is streamlined

compatibility & conformance:

  • O_TTY_INIT is now defined
  • sys/types.h no longer pollutes namespace with sys/sysmacros.h in any profile
  • powerpc asm is now compatible with clang internal assembler

changes for new POSIX interpretations:

  • fgetwc now sets stream error indicator on encoding errors
  • fmemopen no longer rejects 0 size

bugs fixed:

  • static TLS for shared libraries was allocated wrong on "Variant I" archs
  • crash in dladdr reading through uninitialized pointer on non-match
  • sigaltstack wrongly errored out on invalid ss_size when doing SS_DISABLE
  • getdents function misbehaved with buffer length larger than INT_MAX
  • set*id could deadlock after fork from multithreaded process

arch-specfic bugs fixed:

  • s390x SO_PEERSEC definition was wrong
  • passing of 64-bit syscall arguments was broken on microblaze
  • posix_fadvise was broken on mips due to missing 7-arg syscall support
  • vrregset_t layout and member naming was wrong on powerpc64

1.1.24 release notes

new features:

  • GLOB_TILDE extension to glob
  • non-stub catgets localization API, using netbsd binary catalog format
  • posix_spawn file actions for [f]chdir (extension, pending future standard)
  • secure_getenv function (extension)
  • copy_file_range syscall wrapper (Linux extension)
  • header-level support for new linux features in 5.2

performance:

  • new fast path for lrint (generic C version) on 32-bit archs

major internal changes:

  • functions involving time are overhauled to be time64-ready in 32-bit archs
  • x32 uses the new time64 code paths to replace nasty hacks in syscall glue

compatibility & conformance:

  • support for powerpc[64] unaligned relocation types
  • powerpc[64] and sh sys/user.h no longer clash with kernel asm/ptrace.h
  • select no longer modifies timeout on failure (or at all)
  • mips64 stat results are no longer limited to 32-bit time range
  • optreset (BSD extension) now has a public declaration
  • support for clang inconsistencies in wchar_t type vs some 32-bit archs
  • mips r6 syscall asm no longer has invalid lo/hi register clobbers
  • vestigial asm declarations of __tls_get_new are removed (broke some tooling)
  • riscv64 mcontext_t mismatch glibc's member naming is corrected

bugs fixed:

  • glob failed to match broken symlinks consistently
  • invalid use of interposed calloc to allocate initial TLS
  • various dlsym symbol resolution logic errors
  • semctl with SEM_STAT_ANY didn't work
  • pthread_create with explicit scheduling was subject to priority inversion
  • pthread_create failure path had data race for thread count
  • timer_create with SIGEV_THREAD notification had data race getting timer id
  • wide printf family failed to support l modifier for float formats

arch-specific bugs fixed:

  • x87 floating point stack imbalance in math asm (i386-only CVE-2019-14697)
  • x32 clock_adjtime, getrusage, wait3, wait4 produced junk (struct mismatches)
  • lseek broken on x32 and mipsn32 with large file offsets
  • riscv64 atomics weren't compiler barriers
  • riscv64 atomics had broken asm constraints (missing earlyclobber flag)
  • arm clone() was broken when compiled as thumb if start function returned
  • mipsr6 setjmp/longjmp did not preserve fpu register state correctly

Fixes #71099.

@rust-highfive
Copy link
Collaborator

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @kennytm (or someone else) soon.

If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.

Please see the contribution instructions for more information.

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jun 7, 2020
Copy link
Contributor

@pickfire pickfire left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me

@kennytm
Copy link
Member

kennytm commented Jun 10, 2020

@bors r+ rollup=never

@bors
Copy link
Contributor

bors commented Jun 10, 2020

📌 Commit 9d01cd1 has been approved by kennytm

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 10, 2020
@Dylan-DPC-zz
Copy link

@bors p=1

@bors
Copy link
Contributor

bors commented Jun 12, 2020

⌛ Testing commit 9d01cd1 with merge fd09b4654e547da6fd6b5901cb4db4435da0e5ce...

@bors
Copy link
Contributor

bors commented Jun 12, 2020

💔 Test failed - checks-azure

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Jun 12, 2020
@kennytm
Copy link
Member

kennytm commented Jun 13, 2020

@bors retry

  failed to fetch `https://github.com/rust-lang/crates.io-index`

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 13, 2020
@bors
Copy link
Contributor

bors commented Jun 13, 2020

⌛ Testing commit 9d01cd1 with merge e59d503d12ceefaef016a2462ffed8d0fdf78c59...

@bors
Copy link
Contributor

bors commented Jun 13, 2020

💥 Test timed out

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Jun 13, 2020
@kennytm
Copy link
Member

kennytm commented Jun 14, 2020

@bors retry

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 14, 2020
@bors
Copy link
Contributor

bors commented Jun 14, 2020

⌛ Testing commit 9d01cd1 with merge 4fb54ed...

@bors
Copy link
Contributor

bors commented Jun 14, 2020

☀️ Test successful - checks-azure
Approved by: kennytm
Pushing 4fb54ed to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jun 14, 2020
@bors bors merged commit 4fb54ed into rust-lang:master Jun 14, 2020
@tmiasko tmiasko deleted the musl-1.1.24 branch June 14, 2020 14:52
@jonhoo
Copy link
Contributor

jonhoo commented Sep 23, 2022

I know I'm late to the game here, but I'm curious what the policy is on updating the specific version (or commit) of musl — does Rust give any guarantees about which version is used or when it's updated? If not, should it? Could totally be that the answer to both is "no", I just wanted to check :)

@cuviper cuviper added this to the 1.46 milestone May 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

SIGSEGV when running liballoc tests on musl
8 participants