-
Notifications
You must be signed in to change notification settings - Fork 129
Add support to --function to rmc script (#169)
#523
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
Conversation
tedinski
left a comment
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.
I was just writing docs about --function.
I'll add the note about #[no_mangle] to what I wrote.
src/tools/dashboard/src/util.rs
Outdated
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.
Should be two dashes.
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.
Good catch... I wonder when this gets run. I should check with @adpaco-aws to make sure we have test coverage in our regression.
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.
We have the dashboard set to only run after merges. I think there are concerns right now about prolonging CI times.
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.
Can we create a parallel workflow to do those things?
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.
Anyway, I fixed it and I ran the dashboard script locally. The output is a bit hard to parse, but it seemed to work.
This changes the compilation to use crate type lib instead of binary when we are running rmc on a single .rs file. This allow us to use any public function as a verification target. We have also changed the tests to use pub main so it is exported and it can be used as the entry point of the proof. Fix cargo-rmc and the current testcase to support library build.
…-checking#523) This changes the compilation to use crate type lib instead of binary when we are running rmc on a single .rs file. This allow us to use any public function as a verification target. We have also changed the tests to use pub main so it is exported and it can be used as the entry point of the proof. Fix cargo-rmc and the current testcase to support library build.
This changes the compilation to use crate type lib instead of binary when we are running rmc on a single .rs file. This allow us to use any public function as a verification target. We have also changed the tests to use pub main so it is exported and it can be used as the entry point of the proof. Fix cargo-rmc and the current testcase to support library build.
This changes the compilation to use crate type lib instead of binary when
we are running rmc on a single .rs file. This allow us to use
any public function as a verification target.
We have also changed the tests to use pub main so it is exported and it
can be used as the entry point of the proof.
Fix cargo-rmc and the current testcase to support library build.
Description of changes:
1- RMC users will need to ensure their main function is public in order to use them as verification harness. Note that this not affect proof harness with attribute
#[no_mangle]since this attribute actually exports the function.2- Users can now invoke rmc with the
--functionattribute. They can select any public function as their starting point. Note that the function still has to have the#[no_mangle]attribute.Resolved issues:
Resolves #169
Testing:
How is this change tested?
Is this a refactor change?
Checklist
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.