-
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
Update and simplify Jazzer integration #218
Conversation
b564483
to
57eea1c
Compare
c81bfd2
to
cbc8776
Compare
5af1ed5
to
cf3b8b7
Compare
@stefanbucur Could you review? Let me know if you want me to add more information about what changed in Jazzer and how it affects rules_fuzzing. |
fuzzing/private/runtime/BUILD
Outdated
clang_runtime_lib( | ||
name = "asan_linux", | ||
basenames = [ | ||
# LLVM 15+ | ||
"libclang_rt.asan.so", | ||
# LLVM 14 and earlier | ||
"libclang_rt.asan-x86_64.so", | ||
], | ||
) | ||
|
||
clang_runtime_lib( | ||
name = "asan_macos", | ||
basenames = ["libclang_rt.asan_osx_dynamic.dylib"], | ||
) | ||
|
||
clang_runtime_lib( | ||
name = "ubsan_linux", | ||
basenames = [ | ||
# LLVM 15+ | ||
"libclang_rt.ubsan_standalone.so", | ||
# LLVM 14 and earlier | ||
"libclang_rt.ubsan_standalone-x86_64.so", | ||
], | ||
) | ||
|
||
clang_runtime_lib( | ||
name = "ubsan_macos", | ||
basenames = ["libclang_rt.ubsan_osx_dynamic.dylib"], | ||
) |
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 these rules always be defined? I believe Bazel supports specifying compatibility criteria: https://bazel.build/extending/platforms#skipping-incompatible-targets
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.
It does, but that doesn't factor into target selection, it just improves error messages and makes wildcard builds pass. Here, I had tags = ["manual"]
in the macro, which was arguably too magic - I moved it out into the BUILD file.
visibility = ["//visibility:public"], | ||
) | ||
|
||
java_library( |
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.
Maybe explain in a comment the role of this rule? It seems to provide no functionality?
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 added a comment.
This commit updates Jazzer to v0.17.1 and restores compatibility with OSS-Fuzz after its recent Jazzer update.
Since Jazzer can now be run directly as a
java_binary
obtained from Maven, the setup required forjava_fuzz_test
has been simplified:The Jazzer update also makes rules_fuzzing compatible with Bazel 6.