-
Notifications
You must be signed in to change notification settings - Fork 96
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
Build custom sysroot with --always-encode-mir
on
#1717
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The PR changes are quite big! Might help to break this up into multiple PRs (e.g. may want to have a first PR that updates the make-kani-release
tool).
tools/build-kani/Cargo.toml
Outdated
name = "make-kani-release" | ||
version = "0.1.0" | ||
name = "build-kani" | ||
version = "0.10.0" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
0.11.0?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I need to update my branch.
The size of the bundle did increase quite a bit on my linux machine. It went from 24MB to 67MB. This is still pretty far from GitHub's max size of 2GB: https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases#storage-and-bandwidth-quotas
cd1c24c
to
63410c2
Compare
I would really like to break this PR down, but I'm afraid the regression won't pass if I do. |
After model-checking#1717 was merged, users need to run `cargo build-dev` to build Kani binaries and the sysroot.
After #1717 was merged, users need to run `cargo build-dev` to build Kani binaries and the sysroot.
Description of changes:
This change builds a custom sysroot for Kani. This new sysroot will contain a "lib/" folder with Kani libraries as well as the standard libraries compiled with
--always-encode-mir
. This enable us to fully traverse the std MIR and fix the missing functions errors.Other changes to the build were described in the issue here: #1605 (comment)
Resolved issues:
Resolves #1605
Resolves #241
Related RFC:
Tracking issue #1588 .
Call-outs:
I'm still fixing all the workflows, but I could use some early feedback.
Testing:
How is this change tested? New tests
Is this a refactor change? Kinda
Checklist
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.