Skip to content

Do not install new binutils on the system, only use it in gcc - #161243

Open
GuillaumeGomez wants to merge 5 commits into
rust-lang:mainfrom
GuillaumeGomez:binutils-install
Open

Do not install new binutils on the system, only use it in gcc#161243
GuillaumeGomez wants to merge 5 commits into
rust-lang:mainfrom
GuillaumeGomez:binutils-install

Conversation

@GuillaumeGomez

@GuillaumeGomez GuillaumeGomez commented Aug 17, 2026

Copy link
Copy Markdown
Member

@GuillaumeGomez

Copy link
Copy Markdown
Member Author

@bors try jobs=dist*linux

rust-bors Bot pushed a commit that referenced this pull request Aug 17, 2026
Do not install new binutils on the system, only use it in gcc


try-job: dist*linux
@rust-bors

This comment has been minimized.

@antoyo

antoyo commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

It seems you forgot to add --with-as and --with-ld.

@rust-log-analyzer

This comment has been minimized.

@GuillaumeGomez

Copy link
Copy Markdown
Member Author

It seems you forgot to add --with-as and --with-ld.

Indeed...

@GuillaumeGomez

Copy link
Copy Markdown
Member Author

@bors try jobs=dist*linux

rust-bors Bot pushed a commit that referenced this pull request Aug 17, 2026
Do not install new binutils on the system, only use it in gcc


try-job: dist*linux
@rust-bors

This comment has been minimized.

Comment thread src/ci/docker/scripts/build-gcc.sh Outdated
--prefix=/rustroot \
--enable-languages=c,c++ \
--disable-gnu-unique-object \
--with-as="$BINUTILS_PATH/as" \

@Kobzol Kobzol Aug 17, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Note that here you are providing as and ld to a GCC that will later build the libgccjit.so that we ship. I didn't realize it in the previous PR, but it's weird that this actually does something. I would expect that we have to provide the binutils to the build of our libgccjit.so, which is likely what the make install does (?).

View changes since the review

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I would as well, but I'm unclear whether it's only used to be gcc or it's the paths gcc will use when running.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

s/only used to be gcc/only used to build gcc/

Very annoying that we can't edit currently. ^^'

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Isn't this the configure for the GCC 9.5?
The --with-as flags probably need to be in the dist.sh file to be in our libgccjit, no?

@rust-log-analyzer

This comment has been minimized.

Comment thread src/ci/docker/scripts/build-gcc.sh Outdated
BINUTILS_PATH="$BINUTILS_ROOT_PATH/bin"
curl https://ci-mirrors.rust-lang.org/rustc/gcc/binutils-$BINUTILS.tar.xz | xzcat | tar xf -
mkdir binutils-build
mkdir /binutils-install

@fbstj fbstj Aug 17, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
mkdir /binutils-install
mkdir $BINUTILS_ROOT_PATH

am I missing something?

View changes since the review

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Nope you're right.

@rust-bors rust-bors Bot added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Aug 17, 2026
@rust-bors

rust-bors Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

💔 Test for 28ad8c1 failed: CI. Failed jobs:

@RalfJung

Copy link
Copy Markdown
Member

Yes this seems to fix the Miri build :)

@antoyo

antoyo commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Yes this seems to fix the Miri build :)

libgccjit is not built correctly here, but I guess this is good news.

@GuillaumeGomez

Copy link
Copy Markdown
Member Author

Yes this seems to fix the Miri build :)

libgccjit is not built correctly here, but I guess this is good news.

What's wrong?

@rustbot rustbot added A-CI Area: Our Github Actions CI A-testsuite Area: The testsuite used to check the correctness of rustc T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. labels Aug 17, 2026
@GuillaumeGomez

Copy link
Copy Markdown
Member Author

Now that github seems to be mostly back, let's restart the jobs.

@bors try jobs=dist*linux

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Aug 17, 2026
Do not install new binutils on the system, only use it in gcc


try-job: dist*linux
@rust-log-analyzer

This comment has been minimized.

@GuillaumeGomez

Copy link
Copy Markdown
Member Author

Seems like binutils and the compiler are kinda tied together? So if we use one version of binutils, we need to use it all the way. So what do we do? Should we try with binutils 2.46?

@GuillaumeGomez

Copy link
Copy Markdown
Member Author

Let's try like this.

@bors try jobs=dist*linux

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Aug 17, 2026
Do not install new binutils on the system, only use it in gcc


try-job: dist*linux
@GuillaumeGomez

Copy link
Copy Markdown
Member Author

@bors try jobs=dist*linux

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Aug 17, 2026
Do not install new binutils on the system, only use it in gcc


try-job: dist*linux
@rust-log-analyzer

This comment has been minimized.

@GuillaumeGomez

Copy link
Copy Markdown
Member Author

@bors try jobs=dist*linux

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Aug 17, 2026
Do not install new binutils on the system, only use it in gcc


try-job: dist*linux
@rust-log-analyzer

This comment has been minimized.

@rust-bors

rust-bors Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

💔 Test for 6577b87 failed: CI. Failed job:

@GuillaumeGomez

Copy link
Copy Markdown
Member Author

@bors try jobs=dist*linux

@rust-bors

rust-bors Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

⌛ Trying commit 413bdf3 with merge fd9359c

To cancel the try build, run the command @bors try cancel.

Workflow: https://github.com/rust-lang/rust/actions/runs/32124477600

rust-bors Bot pushed a commit that referenced this pull request Aug 18, 2026
Do not install new binutils on the system, only use it in gcc


try-job: dist*linux
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-CI Area: Our Github Actions CI A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants