-
Notifications
You must be signed in to change notification settings - Fork 100
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 #1605
Comments
I am planning the following changes to the build system in order to accomplish this:
The
|
* Build sysroot and repurpose make-kani-release 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) * Add pre-compiled libraries to the bundle. 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
Kani currently uses
rustup
sysroot to gather information from the standard library constructs. The artifacts from thissysroot
do not include theMIR
for items that have already been compiled to thestd
shared library. We also use a similar method to buildkani
's custom libraries.This leaves a gap that cannot be filled by the
kani-compiler
; thus, we are unable to translate these items intogoto-program
.In order to fulfill this gap, we must build a
sysroot
from scratch. For more details, see #1600The text was updated successfully, but these errors were encountered: