Uh oh!
There was an error while loading. Please reload this page.
Build GCC on CI with GCC, not Clang - #138451
Conversation
rustbot
commented
Mar 13, 2025
This PR changes how GCC is built. Consider updating src/bootstrap/download-ci-gcc-stamp. |
Kobzol
commented
Mar 13, 2025
@bors try |
bors
commented
Mar 13, 2025
Build GCC on CI with GCC, not Clang It seems that GCC built with Clang misbehaves. Prerequisite for rust-lang#138395. r? `@ghost`
bors
commented
Mar 13, 2025
☀️ Try build successful - checks-actions |
rustbot
commented
Mar 13, 2025
Some changes occurred in src/tools/opt-dist cc @Kobzol |
Kobzol
commented
Mar 13, 2025
@bors try |
Build GCC on CI with GCC, not Clang It seems that GCC built with Clang misbehaves. Prerequisite for rust-lang#138395. r? `@ghost`
bors
commented
Mar 13, 2025
bors
commented
Mar 13, 2025
☀️ Try build successful - checks-actions |
rustbot
commented
Mar 13, 2025
This PR modifies If appropriate, please update |
So that follow-up CI commands can proceed normally. It will also avoid overwriting `config.toml` when running opt-dist tests locally.
Kobzol
commented
Mar 13, 2025
Uh oh!
There was an error while loading. Please reload this page.
GuillaumeGomez
left a comment
There was a problem hiding this comment.
Apart from @antoyo's comment, looks good to me. Thanks!
Kobzol
commented
Mar 14, 2025
Added a commit that checks if we don't compile GCC with Clang, and removed the flags. |
GuillaumeGomez
left a comment
There was a problem hiding this comment.
Looks all good to me, thanks! r=me once CI pass
Kobzol
commented
Mar 14, 2025
@bors r=GuillaumeGomez |
bors
commented
Mar 14, 2025
nikic
commented
Mar 14, 2025
Is there a bug report for that? |
We think that the specific instance that we hit was https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117952, or something similar. But more generally, I expect that building GCC with Clang would require various workarounds and have quirks, we already had to modify compiler flags to even get it to compile. So just using GCC as the host compiler should be a more robust choice in the future. |
…meGomez Build GCC on CI with GCC, not Clang It seems that GCC built with Clang misbehaves. I have tested that cg_gcc tests [pass](https://github.com/rust-lang/rust/actions/runs/13842365913/job/38732750617?pr=138451) on CI with a downloaded GCC that was built in this way. Prerequisite for rust-lang#138395. r? `@ghost`
Rollup of 6 pull requests Successful merges: - rust-lang#134720 (Display valid crate types in error message for --crate-type flag) - rust-lang#137424 (uefi: helpers: Add DevicePathNode abstractions) - rust-lang#137736 (Don't attempt to export compiler-builtins symbols from rust dylibs) - rust-lang#138451 (Build GCC on CI with GCC, not Clang) - rust-lang#138454 (Improve post-merge workflow) - rust-lang#138477 (Deny impls for `BikeshedGuaranteedNoDrop`) r? `@ghost` `@rustbot` modify labels: rollup
…meGomez Build GCC on CI with GCC, not Clang It seems that GCC built with Clang misbehaves. I have tested that cg_gcc tests [pass](https://github.com/rust-lang/rust/actions/runs/13842365913/job/38732750617?pr=138451) on CI with a downloaded GCC that was built in this way. Prerequisite for rust-lang#138395. r? ``@ghost``
Rollup of 8 pull requests Successful merges: - rust-lang#138056 (rustc_target: Add target features for LoongArch v1.1) - rust-lang#138349 (Emit function declarations for functions with `#[linkage="extern_weak"]`) - rust-lang#138451 (Build GCC on CI with GCC, not Clang) - rust-lang#138454 (Improve post-merge workflow) - rust-lang#138460 (Pass struct field HirId when check_expr_struct_fields) - rust-lang#138482 (Fix HIR printing of parameters) - rust-lang#138507 (Mirror NetBSD sources) - rust-lang#138511 (Make `Parser::parse_expr_cond` public) r? `@ghost` `@rustbot` modify labels: rollup
Rollup of 9 pull requests Successful merges: - rust-lang#138056 (rustc_target: Add target features for LoongArch v1.1) - rust-lang#138451 (Build GCC on CI with GCC, not Clang) - rust-lang#138454 (Improve post-merge workflow) - rust-lang#138460 (Pass struct field HirId when check_expr_struct_fields) - rust-lang#138474 (Refactor is_snake_case.) - rust-lang#138482 (Fix HIR printing of parameters) - rust-lang#138507 (Mirror NetBSD sources) - rust-lang#138511 (Make `Parser::parse_expr_cond` public) - rust-lang#138518 (Fix typo in hir lowering lint diag) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#138451 - Kobzol:gcc-ci-build-gcc, r=GuillaumeGomez Build GCC on CI with GCC, not Clang It seems that GCC built with Clang misbehaves. I have tested that cg_gcc tests [pass](https://github.com/rust-lang/rust/actions/runs/13842365913/job/38732750617?pr=138451) on CI with a downloaded GCC that was built in this way. Prerequisite for rust-lang#138395. r? ```@ghost```
nikic
commented
Mar 15, 2025
Thanks, so this is just working around a GCC bug. Just wanted to make sure it's not Clang miscompiling GCC. |
It seems that GCC built with Clang misbehaves. I have tested that cg_gcc tests pass on CI with a downloaded GCC that was built in this way.
Prerequisite for #138395.
r? @ghost