-
Notifications
You must be signed in to change notification settings - Fork 235
Replace the nm
symbol check with a Rust implementation
#828
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
c98e932
to
9646d92
Compare
I should have the rust script invoke cargo as well; run the script with Cargo args, the script invokes Cargo and passes |
014a36d
to
65d509a
Compare
@beetrees I think you mentioned doing something like this a long time ago - would you mind taking a look at this? |
crates/symbol-check/src/main.rs
Outdated
} | ||
} | ||
|
||
cmd.wait().expect("failed to wait on Cargo"); |
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.
cmd.wait().expect("failed to wait on Cargo"); | |
assert!(cmd.wait().expect("failed to wait on Cargo").success()); |
This should check the returned exit status.
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.
Thanks, applied
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.
LGTM
These are now provided by `compiler-builtins`, so there is no need to also build the C versions. This was detected by checking for duplicate symbols and not excluding weak symbols (like CI currently does).
This should be less error-prone and adaptable than the `nm` version, and have better cross-platform support without needing LLVM `nm` installed.
Since a working `nm` is no longer needed as part of CI, the rustup component can be removed.
Thank you for reviewing! |
This should be less error-prone and adaptable than the
nm
version, andhave better cross-platform support without needing LLVM
nm
installed.