Skip to content

Conversation

@antoyo
Copy link
Contributor

@antoyo antoyo commented Nov 28, 2025

Since GCC is not multi-target, we need multiple libgccjit.so. Our solution to have a directory per target so that we can have multiple libgccjit.so.

r? @Kobzol

@rustbot
Copy link
Collaborator

rustbot commented Nov 28, 2025

This PR changes how GCC is built. Consider updating src/bootstrap/download-ci-gcc-stamp.

Some changes occurred in compiler/rustc_codegen_gcc

cc @antoyo, @GuillaumeGomez

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) labels Nov 28, 2025
@rustbot rustbot added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Nov 28, 2025
@rustbot
Copy link
Collaborator

rustbot commented Nov 28, 2025

Kobzol is not on the review rotation at the moment.
They may take a while to respond.

@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@rustbot
Copy link
Collaborator

rustbot commented Nov 28, 2025

This PR modifies tests/ui/issues/. If this PR is adding new tests to tests/ui/issues/,
please refrain from doing so, and instead add it to more descriptive subdirectories.

@rust-log-analyzer

This comment has been minimized.

@antoyo
Copy link
Contributor Author

antoyo commented Nov 28, 2025

@bjorn3: Is there any way to bless the UI tests for Aarch64 from an x86 computer?

@bjorn3
Copy link
Member

bjorn3 commented Nov 29, 2025

You can try if ./x.py test tests/ui --target aarch64-unknown-linux-gnu --bless works.

//@ add-minicore
//@ compile-flags: --target thumbv8m.main-none-eabi --crate-type lib
//@ needs-llvm-components: arm
//@ ignore-backends: gcc
Copy link
Contributor Author

Choose a reason for hiding this comment

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

All these new test failures are due to the fact that --target is used and we now put libgccjit.so in a directory named after the target, so rustc_codegen_gcc doesn't find libgccjit.so.
Is this the correct way to ignore these tests?
Or are tests annotated with needs-llvm-compoments not expected to pass with a codegen that is not LLVM?

Copy link
Member

Choose a reason for hiding this comment

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

I think //@ ignore-backends: gcc makes sense. These tests would pass just fine with Cranelift if it is one of the targets supported by Cranelift. cg_clif always enables all backends of Cranelift.

@bors
Copy link
Collaborator

bors commented Dec 3, 2025

☔ The latest upstream changes (presumably #149560) made this pull request unmergeable. Please resolve the merge conflicts.

@antoyo antoyo force-pushed the libgccjit-targets branch from 8b77a86 to 1935f8c Compare December 3, 2025 16:11
@rustbot

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@antoyo antoyo force-pushed the libgccjit-targets branch from 1935f8c to c219930 Compare December 3, 2025 17:07
@bors
Copy link
Collaborator

bors commented Dec 4, 2025

☔ The latest upstream changes (presumably #149642) made this pull request unmergeable. Please resolve the merge conflicts.

Since GCC is not multi-target, we need multiple libgccjit.so.
Our solution to have a directory per target so that we can have multiple
libgccjit.so.
@antoyo antoyo force-pushed the libgccjit-targets branch from c219930 to 42059a3 Compare December 5, 2025 14:58
@rustbot
Copy link
Collaborator

rustbot commented Dec 5, 2025

This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed.

Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants