-
Notifications
You must be signed in to change notification settings - Fork 20
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
package libunwind and libblocksruntime with honggfuzz #188
Comments
How big of an issue is this in practice? I'm happy to consider alternative designs, but I would like to understand what are the pros/cons of each, especially in terms of complexity added to the codebase. |
Speaking to the cons: |
A change in my organization's Bazel toolchain setup broke compatibility and meant we couldn't fuzz until I figured out how toolchains worked and fixed the regression; edit: I ended up adding the dependencies' binaries to a patched version of rules_fuzzing to make the build hermetic instead of working with toolchains. |
Supplying binaries would be restrictive, since they may not work on all platforms. If we provide BUILD rules for libunwind-dev and libblocksruntime-dev, are there other (transitive) dependencies that would need to be installed instead? |
libblocksruntime shouldn't have transitive dependencies. libunwind might need implementations of certain functions on some architectures, but running libunwind on x86_64 shouldn't need transitive dependencies. |
Thanks for this extra context. In this case, I'd be happy to review a PR that adds the missing build rules for these two libraries. |
Currently, using honggfuzz + rules_fuzzing requires users to install libunwind-dev and libblocksruntime-dev. Users might also need to configure their bazel toolchains to support these dependencies.
I would prefer to see these dependencies packaged with rules_fuzzing, so that honggfuzz would build more hermetically. Preferably we could bazelify and build these dependencies from source; alternatively we can supply binaries.
The text was updated successfully, but these errors were encountered: