-
Notifications
You must be signed in to change notification settings - Fork 13.2k
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
Fix uclibc
LLVM target triples
#138431
Fix uclibc
LLVM target triples
#138431
Conversation
`uclibc` is not an environment understood by LLVM, it is only a concept in Clang that can be selected with `-muclibc` (it affects which dynamic linker is passed to the static linker's `-dynamic-linker` flag). In fact, using `uclibcgnueabi`/`uclibc` is actively harmful, as it prevents LLVM from seeing that the target is gnu-like; we should use `gnueabi`/`gnu` directly instead.
These commits modify compiler targets. |
Yeah, that seems reasonable. I'll wait for the pinged target maintainers for related targets to have a chance to chime in, otherwise I'll approve it in a few days considering there's no listed target maintainers. Please ping me next Wednesday (2025-03-19) to r+ this, I'll mark this as S-blocked before then to not have it show up in my review queue (since it's not yet actionable for me). @rustbot blocked (until 2025-03-19 to give some time for related target maintainers to chime in if they want to) |
Looks reasonable to me. |
Seems ok to me! Thanks for the tag. |
Okay that seems like enough time, thanks for the feedback @lancethepants and @skrap! @bors r+ rollup |
…ouxu Fix `uclibc` LLVM target triples `uclibc` is not an environment understood by LLVM, it is only a concept in Clang that can be selected with `-muclibc` (it affects which dynamic linker is passed to the static linker's `-dynamic-linker` flag). In fact, using `uclibcgnueabi`/`uclibc` is actively harmful, as it prevents LLVM from seeing that the target is gnu-like; we should use `gnueabi`/`gnu` directly instead. Motivation: To make it easier to verify that [`cc-rs`' conversion from `rustc` to Clang/LLVM triples](rust-lang/cc-rs#1431) is correct. **There are no target maintainers for these targets.** So I'll CC `@lancethepants` and `@skrap` who maintain the related `armv7-unknown-linux-uclibceabi` and `armv7-unknown-linux-uclibceabihf` (both of which already pass `-gnu` instead of `-uclibc`) in case they have any insights. r? jieyouxu
…iaskrgr Rollup of 8 pull requests Successful merges: - rust-lang#137928 (stabilize const_cell) - rust-lang#138431 (Fix `uclibc` LLVM target triples) - rust-lang#138832 (Start using `with_native_path` in `std::sys::fs`) - rust-lang#139060 (replace commit placeholder in vendor status with actual commit) - rust-lang#139081 (std: deduplicate `errno` accesses) - rust-lang#139100 (compiletest: Support matching diagnostics on lines below) - rust-lang#139105 (`BackendRepr::is_signed`: comment why this may panics) - rust-lang#139106 (Mark .pp files as Rust) r? `@ghost` `@rustbot` modify labels: rollup
…iaskrgr Rollup of 7 pull requests Successful merges: - rust-lang#137928 (stabilize const_cell) - rust-lang#138431 (Fix `uclibc` LLVM target triples) - rust-lang#138832 (Start using `with_native_path` in `std::sys::fs`) - rust-lang#139081 (std: deduplicate `errno` accesses) - rust-lang#139100 (compiletest: Support matching diagnostics on lines below) - rust-lang#139105 (`BackendRepr::is_signed`: comment why this may panics) - rust-lang#139106 (Mark .pp files as Rust) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#138431 - madsmtm:uclibc-llvm-target, r=jieyouxu Fix `uclibc` LLVM target triples `uclibc` is not an environment understood by LLVM, it is only a concept in Clang that can be selected with `-muclibc` (it affects which dynamic linker is passed to the static linker's `-dynamic-linker` flag). In fact, using `uclibcgnueabi`/`uclibc` is actively harmful, as it prevents LLVM from seeing that the target is gnu-like; we should use `gnueabi`/`gnu` directly instead. Motivation: To make it easier to verify that [`cc-rs`' conversion from `rustc` to Clang/LLVM triples](rust-lang/cc-rs#1431) is correct. **There are no target maintainers for these targets.** So I'll CC ``@lancethepants`` and ``@skrap`` who maintain the related `armv7-unknown-linux-uclibceabi` and `armv7-unknown-linux-uclibceabihf` (both of which already pass `-gnu` instead of `-uclibc`) in case they have any insights. r? jieyouxu
uclibc
is not an environment understood by LLVM, it is only a concept in Clang that can be selected with-muclibc
(it affects which dynamic linker is passed to the static linker's-dynamic-linker
flag).In fact, using
uclibcgnueabi
/uclibc
is actively harmful, as it prevents LLVM from seeing that the target is gnu-like; we should usegnueabi
/gnu
directly instead.Motivation: To make it easier to verify that
cc-rs
' conversion fromrustc
to Clang/LLVM triples is correct.There are no target maintainers for these targets. So I'll CC @lancethepants and @skrap who maintain the related
armv7-unknown-linux-uclibceabi
andarmv7-unknown-linux-uclibceabihf
(both of which already pass-gnu
instead of-uclibc
) in case they have any insights.r? jieyouxu