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

Update toolchain to nightly 2024-11-15 #218

Merged
merged 30 commits into from
Nov 20, 2024
Merged

Update toolchain to nightly 2024-11-15 #218

merged 30 commits into from
Nov 20, 2024

Conversation

dbittman
Copy link
Contributor

@dbittman dbittman commented Nov 16, 2024

This PR updates the toolchain to a recent nightly version and replaces the old twizzler-runtime-api crate with a new design based on bindgen that should improve interoperability with other languages, improve stability, etc. The update also gains a lot of nice functionality from new Rust features. We also have a more robust support for basic C code, allowing libunwind to be more than a black-box.

See also: #217

A couple things to note:

  • Most of the churn here comes from unstable features changing in subtle ways and having to keep up, as well as the new ABI crate changing paths to types and stuff.
  • This PR also includes an update to xtask that will make it check for ABI version compatibility between the installed toolchain and the source tree. What this means is that once someone pulls this update, they may need to run cargo bootstrap, but xtask should detect this and stop the build with a helpful error message.
  • To try to keep the churn down, this PR does not update the reference runtime as needed for the new ABI work. This means that it has been disabled in the build. This is fine, since tests were not dependent on that yet. Fortunately, the updates needed to the reference runtime coincide with updates needed for the security monitor work, which I'm making the PRs for this week.

@dbittman dbittman added abi For the Twizzler ABI toolchain Relating to the toolchain labels Nov 16, 2024
@dbittman dbittman self-assigned this Nov 16, 2024
@dbittman dbittman marked this pull request as ready for review November 16, 2024 21:37
@dbittman dbittman requested a review from gvnn3 as a code owner November 16, 2024 21:37
@dbittman dbittman requested a review from PandaZ3D November 16, 2024 21:37
Copy link
Contributor

@gvnn3 gvnn3 left a comment

Choose a reason for hiding this comment

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

Much as this is HUGE it is also mostly mechanical so let's get this in and move on.

"src/lib/twizzler-futures",
#"src/lib/twizzler-runtime-api",
"src/lib/twizzler-futures",
#"src/runtime/dynlink",
Copy link
Contributor

Choose a reason for hiding this comment

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

Why comment instead of remove?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Because they'll come back in the next PR

@dbittman dbittman merged commit 2eb13c3 into main Nov 20, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
abi For the Twizzler ABI toolchain Relating to the toolchain
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants