Skip to content
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

Install UEFI targets via rustup #555

Merged
merged 5 commits into from
Nov 24, 2022

Conversation

nicholasbishop
Copy link
Member

As of nightly-2022-11-10 the UEFI targets are tier 2 and available via rustup. That means we can switch to building without build-std.

In order to continue testing the older nightly, cargo xtask build checks if the targets are installed and switches back to build-std if not.

Fixes #504

Checklist

  • Sensible git history (for example, squash "typo" or "fix" commits). See the Rewriting History guide for help.
  • Update the changelog (if necessary)

@nicholasbishop
Copy link
Member Author

Looks like there are some linker errors in the i686 target, I'll look into that.

@nicholasbishop nicholasbishop marked this pull request as draft November 10, 2022 22:56
@phip1611
Copy link
Member

very nice

@nicholasbishop
Copy link
Member Author

Just a quick note that I'm working on the issues blocking i686 here: rust-lang/rust#104326

@nicholasbishop nicholasbishop force-pushed the bishop-tier2 branch 3 times, most recently from f23b7be to 495d6fb Compare November 23, 2022 03:12
@nicholasbishop nicholasbishop marked this pull request as ready for review November 23, 2022 03:18
@nicholasbishop
Copy link
Member Author

Marking ready for review -- the linker issue with i686-unknown-uefi has been fixed as of the 2022-11-22 nightly.

@@ -1,3 +1,3 @@
[toolchain]
channel = "nightly"
components = ["rust-src"]
Copy link
Member

Choose a reason for hiding this comment

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

this looks so much better now. Very nice :)

// If the target is not installed, use build-std. Keep this
// around until our minimum-supported nightly version is at
// least 2022-11-10.
if !is_target_installed(target.as_triple())? {
Copy link
Member

Choose a reason for hiding this comment

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

can you create a follow-up ticket please to remove this eventually?

Copy link
Member Author

Choose a reason for hiding this comment

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

I went ahead and made a PR: #585

We can merge that after Feb 22, 2023.

@phip1611
Copy link
Member

LGTM!

The UEFI targets are now tier 2, so we don't need to use build-std anymore.
If the target being built is installed via rustup, skip adding the
build-std arguments. We still need build-std for our current
minimum-supported nightly CI, but for nightly-2022-11-10 and later the
UEFI targets are tier 2 and can be installed via rustup.
These targets are now available via rustup as of nightly-2022-11-10.
As of nightly-2022-11-10 the UEFI targets are tier 2 and available via
rustup, so build-std isn't needed anymore.
@nicholasbishop nicholasbishop merged commit 2036bed into rust-osdev:main Nov 24, 2022
@nicholasbishop nicholasbishop deleted the bishop-tier2 branch November 24, 2022 19:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Remove use of -Zbuild-std if and when the UEFI targets become tier-2
2 participants