-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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 bundled musl to 1.2.5 #125692
base: master
Are you sure you want to change the base?
Update bundled musl to 1.2.5 #125692
Conversation
Let's try on CI. @bors try |
Update bundled musl to 1.2.5 [Releases page](https://musl.libc.org/releases.html) Prior update: rust-lang#107129 r? `@wesleywiser` try-job: dist-x86_64-musl try-job: dist-i586-gnu-i586-i686-musl
☀️ Try build successful - checks-actions |
When using the linux-musl target for rust, the file creation time cannot be retrieved, as the current version does not support it yet ( This will be fixed with [0]). In the meantime, we parse the datetime from the filename and use that as a fallback. Fixes: tokio-rs#2999 [0]: rust-lang/rust#125692
When using the linux-musl target for rust, the file creation time cannot be retrieved, as the current version does not support it yet ( This will be fixed with [0]). In the meantime, we parse the datetime from the filename and use that as a fallback. Fixes: tokio-rs#2999 [0]: rust-lang/rust#125692
When using the linux-musl target for rust, the file creation time cannot be retrieved, as the current version does not support it yet ( This will be fixed with [0]). In the meantime, we parse the datetime from the filename and use that as a fallback. Fixes: tokio-rs#2999 [0]: rust-lang/rust#125692
When using the linux-musl target for rust, the file creation time cannot be retrieved, as the current version does not support it yet ( This will be fixed with [0]). In the meantime, we parse the datetime from the filename and use that as a fallback. Fixes: tokio-rs#2999 [0]: rust-lang/rust#125692
When using the linux-musl target for rust, the file creation time cannot be retrieved, as the current version does not support it yet ( This will be fixed with [0]). In the meantime, we parse the datetime from the filename and use that as a fallback. Fixes: tokio-rs#2999 [0]: rust-lang/rust#125692
Hello, are there any plans to merge this PR anytime soon? Doing so might unblock rust-cross/rust-musl-cross#152, which could resolve getsentry/sentry-cli#1929. |
The release notes look relatively harmless. I'll nominate this for t-compiler discussion. |
This looks like a rather small update, that could nevertheless unblock some projects. @rustbot label +I-compiler-nominated |
Discussed in t-compiler triage meeting on Zulip. cc @wesleywiser @rustbot label -I-compiler-nominated |
Looking at the symbol tables for
I think we should definitely do a crater run to help gauge how much impact losing the LFS64 symbols will be. |
The try build artifacts seem to have timed out. Let's go again: @bors try |
🔒 Merge conflict This pull request and the master branch diverged in a way that cannot be automatically merged. Please rebase on top of the latest master branch, and let the reviewer approve again. How do I rebase?Assuming
You may also read Git Rebasing to Resolve Conflicts by Drew Blessing for a short tutorial. Please avoid the "Resolve conflicts" button on GitHub. It uses Sometimes step 4 will complete without asking for resolution. This is usually due to difference between how Error message
|
Update bundled musl to 1.2.5 Update the bundled musl library from 1.2.3 to the 1.2.5 release from February 29, 2024. [Releases page](https://musl.libc.org/releases.html) Prior update: rust-lang#107129 `r? wesleywiser` try-job: dist-x86_64-musl try-job: dist-i586-gnu-i586-i686-musl try-job: dist-x86_64-linux
[DO NOT MERGE] Build musl targets for crater run Using to test rust-lang#125692 try-job: dist-x86_64-musl try-job: dist-i586-gnu-i586-i686-musl try-job: dist-x86_64-linux r? `@ghost`
☀️ Try build successful - checks-actions |
@craterbot run mode=build-and-test name=musl_upgrade_1_2_5 start=try#52500f34dbfa5ef09f94c5cb770491fbd834bcb6+target=x86_64-unknown-linux-musl end=try#115cea8e821b9c40aef33b4644037c0963561120+target=x86_64-unknown-linux-musl |
👌 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
🚧 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
🎉 Experiment
|
Looked at ~20 random regressions and they were all due to getrandom using an older version of libc which calls open64. I think we need to consider building musl with |
Is this already fixed in a released libc version? I noticed one of my repos with |
Yes, it's fixed in 0.2.145, also mentioned in the post above. 0.2.145 was released on June 4, 2023, so more than one year ago, but I suppose not everyone runs
Yeah, agreed. To verify beyond your sample of 20 crates, I downloaded the regressed crates logs from the crater report and checked the regressions. There is only 146 regressions which do not contain "undefined reference". I checked 3-4 of them and they seemed all noise like out of space errors.
Statistics of which functions were noted as missing:
not an expert but given they all contain So next step is probably me figuring out how to pass |
@bors try |
Update bundled musl to 1.2.5 Update the bundled musl library from 1.2.3 to the 1.2.5 release from February 29, 2024. [Releases page](https://musl.libc.org/releases.html) Prior update: rust-lang#107129 `r? wesleywiser` try-job: dist-x86_64-musl try-job: dist-i586-gnu-i586-i686-musl try-job: dist-x86_64-linux
☀️ Try build successful - checks-actions |
For trying out the try build, I'm using https://github.com/kennytm/rustup-toolchain-install-master . command:
with that, one can check the custom toolchains via:
apparently though, neither works :(. I see the flag added to CFLAGS though here... |
Ahhh apparently the The actual linkable symbols were removed by this commit, first included in 1.2.4. The commit also adjusted the dynamic linker to account for that removal, but as we don't use it in this instance, that adjustment can't be leveraged. I wonder if we should patch musl to make the symbols linkable again? |
I would love to see this get merged since it is a blocker for various downstream applications. Can I help in any way? |
Creation time will only be supported on the musl target once rust-lang/rust#125692 lands.
[`powerpc64-unknown-openbsd`](platform-support/openbsd.md) | ✓ | ✓ | OpenBSD/powerpc64 | ||
[`powerpc64-ibm-aix`](platform-support/aix.md) | ? | | 64-bit AIX (7.2 and newer) | ||
`riscv32gc-unknown-linux-gnu` | | | RISC-V Linux (kernel 5.4, glibc 2.33) | ||
`riscv32gc-unknown-linux-musl` | | | RISC-V Linux (kernel 5.4, musl 1.2.3 + RISCV32 support patches) | ||
`riscv32gc-unknown-linux-musl` | | | RISC-V Linux (kernel 5.4, musl 1.2.5 + RISCV32 support patches) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
`riscv32gc-unknown-linux-musl` | | | RISC-V Linux (kernel 5.4, musl 1.2.5 + RISCV32 support patches) | |
`riscv32gc-unknown-linux-musl` | | | RISC-V Linux (kernel 5.4, musl 1.2.5) |
musl 1.2.5 officially supports riscv32. https://github.com/bminor/musl/blob/v1.2.5/WHATSNEW#L2413
Update the bundled musl library from 1.2.3 to the 1.2.5 release from February 29, 2024.
Releases page
Prior update: #107129
r? wesleywiser
try-job: dist-x86_64-musl
try-job: dist-i586-gnu-i586-i686-musl
try-job: dist-x86_64-linux