Skip to content

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