aboutsummaryrefslogtreecommitdiff
path: root/repositories.bzl
AgeCommit message (Collapse)Author
2022-08-19driver: Remove glogFabian Meumertzheim
Two `LOG(ERROR)` usages are converted to ordinary prints, one `LOG(INFO)` usage is dropped without replacement since the `JAVA_FUZZER_CLASSPATH` variable isn't even documented.
2022-08-15driver: Attach the agent at runtimeFabian Meumertzheim
This functionality is needed to launch Jazzer in an already running JVM.
2022-08-15deps: Update libFuzzerFabian Meumertzheim
2022-07-25deps: Update everything to latestFabian Meumertzheim
2022-04-28Update JaCoCo to 0.8.8Fabian Meumertzheim
2022-04-07Update bazel_jar_jar to version supporting Java 17+Norbert Schneider
2022-04-06Update rules_jni to 0.5.1Fabian Meumertzheim
2022-04-06Use the official JaCoCo versionNorbert Schneider
Switch from the internal fork to the official JaCoCo version. This looses the call optimizations but removes the burden of maintaining a dedicated fork. Tests using the example fuzzers and JMH don't show huge performance differences. Some are more in favor of the fork, some of the official version.
2022-03-16Update rules_jniFabian Meumertzheim
2022-02-28Update jazzer-libfuzzerFabian Meumertzheim
See https://github.com/CodeIntelligenceTesting/llvm-project-jazzer/compare/2021-11-30...2022-02-26 for the only change ("Do not redundantly copy fuzzer input").
2022-02-15Update JaCoCo fork to v0.8.7-jazzer+1Fabian Meumertzheim
This includes fixes required to instrument java.util.regex.**.
2022-02-11Use tags for all dependenciesFabian Meumertzheim
GitHub support has confirmed that only the /archive/refs/tags endpoint can be assumed to return stable results over time. For dependencies that do not offer tags we can use, I created a fork with a "commit-<SHA>" tag for the commit we were previously depending on. Along the way, update some dependencies to their latest tag. See this comment for more context regarding the GitHub guarantees for archive stability: https://github.com/bazel-contrib/SIG-rules-authors/issues/11#issuecomment-1029861300
2022-02-11Get ASM from Maven rather than gitlab.ow2.orgFabian Meumertzheim
The OW2 GitLab hasn't been very reliable in the past and just encountered another outage. Getting the ASM jars from Maven should be more reliable.
2022-02-04Update rules_kotlin to 1.5.0Fabian Meumertzheim
2022-02-01Switch to .tar.gz for all dependency archivesFabian Meumertzheim
Also update abseil-cpp to the latest release.
2022-01-13Update rules_jni to 0.4.0Fabian Meumertzheim
The new version includes additional fallback logic to detect the default JVM on macOS.
2021-12-15Use relative Labels where possibleFabian Meumertzheim
This will ease migration to bzlmod.
2021-11-30Load @jazzer_libfuzzer from a GitHub releaseFabian Meumertzheim
2021-11-30Ensure that escapes are honored by fork and mergeFabian Meumertzheim
Fixes https://github.com/google/oss-fuzz/issues/6926.
2021-11-19Update JaCoCo forkFabian Meumertzheim
2021-11-15Update abseil-cpp to fix compiler warningsFabian Meumertzheim
2021-11-12Extract JavaNoThrowMethods logic into a JaCoCo forkFabian Meumertzheim
The fork of JaCoCo is compatible with the exec files generated by Jazzer's dumpCoverage. This also reduces the size of the patches maintained in this repo.
2021-11-05Update rules_jni to 0.3.0Fabian Meumertzheim
2021-11-02Update rules_jni to v0.2.1Fabian Meumertzheim
2021-10-25Update rules_jni to v0.2.0Fabian Meumertzheim
2021-10-21Update ClassGraphFabian Meumertzheim
2021-10-21Update bazel_skylibFabian Meumertzheim
2021-10-21Make rules_jvm_external a dev dependencyFabian Meumertzheim
2021-10-21Remove dependency on bazel_commonFabian Meumertzheim
bazel_common has no releases and rules_jvm_external exposes the only part of it that we need, javadoc generation.
2021-10-19Add basic generic autofuzz and consume functionalityFabian Meumertzheim
2021-10-18BREAKING: Use OS-specific classpath separator to split jvm_argsFabian Meumertzheim
This allows us to get rid of the libFuzzer patch to quote argv, which breaks Windows and would have to be turned into a conditional patch otherwise. With this change, all argument separators use the same syntax as the java executable on any given platform. Collisions of ':' as an argument separator and a classpath separator should be rare as we have our own argument to pass in the classpath. This commit implements a rudimentary escaping mechanism to handle the cases where this should be an issue: * \<separator> results in a literal <separator> and no split * \\ results in a literal backlash not interpreted as an escape character for a subsequent <separator> This is a breaking change, but we should rather break this now that we haven't committed to a version 1.0 yet. The only breakage I am aware of is easily fixed: https://github.com/google/oss-fuzz/blob/0c1d5231de61b4166281b4d5685aa66e9f4948a8/projects/kryo/build.sh#L48
2021-10-17Use rules_jniFabian Meumertzheim
This simplifies the libjvm location logic as well as native library packaging. Incidentally, this fixes the libjpeg_turbo build. In anticipation of Windows support and because it simplifies further improvements to the fuzz target test setup, the wrapper is rewritten in Java.
2021-10-11Update to Kotlin 1.5Fabian Meumertzheim
2021-10-08Revert "Do not reexport symbols from repositories.bzl"Fabian Meumertzheim
This reverts commit cdb2d87531dbcde5b549e8a45b3d80b879441e04. Not needed, imported symbols are not exported even though the Bazel IntelliJ plugin thinks so.
2021-10-07Do not reexport symbols from repositories.bzlFabian Meumertzheim
2021-09-14Report coverage for all classes on the classpathFabian Meumertzheim
Using the (very fast) classpath traverser ClassPath, we can generate coverage data for *all* classes on the classpath rather than just those that were loaded during the fuzzing run.
2021-08-13Make libFuzzer checkout smaller by stripping pathsFabian Meumertzheim
2021-08-09Find libjvm with a repository ruleFabian Meumertzheim
libjvm lives in different subpaths of JAVA_HOME, depending both on the OS and the Java version. Since it is currently not possible to select a dependency based on the Java version, supporting Java 8 required a custom build setting. This also broke bazel query (but not cquery). By loading libjvm from a simple repository rule, we can cover all OSes and Java versions with a single dependency, even if libjvm.so is installed in a non-standard location.
2021-07-28Update rules_kotlinFabian Meumertzheim
2021-07-11Restore g++ compatibilityFabian Meumertzheim
Also moves the quote command args patch upstream.
2021-07-03Update to ASM 9.2Fabian Meumertzheim
2021-06-22Update dependencies and remove unused rules_pythonFabian Meumertzheim
2021-06-11Update rules_jvm_externalFabian Meumertzheim
2021-06-02Update platformsFabian Meumertzheim
This provides Bazel 5 compatibility.
2021-05-27Pass quoted arguments to child processesFabian Meumertzheim
libFuzzer does not quote the arguments it passes to child processes during merge and fork, which leads to arguments being lost if passing multiple jvm_args with delimiter ';'. This commit adds a libFuzzer patch that properly quotes all arguments as well as a test that fails if quoting is not appropriate.
2021-05-12Update libFuzzerFabian Meumertzheim
Our libFuzzer fork has been updated as some of our patches have been upstreamed. It now also includes the get-covered-pcs patch.
2021-05-06Update JaCoCo to 0.8.7Fabian Meumertzheim
2021-04-30Reland "Switch to __sanitizer_weak_hook_compare_bytes"Fabian Meumertzheim
This reverts commit 45bd07e46afcd445879d5af0ef23dafbee1028a0. The observed crashes were found to be unrelated to Jazzer.
2021-04-29Revert "Switch to __sanitizer_weak_hook_compare_bytes"Fabian Meumertzheim
This reverts commit 519d7b95b8df9abb4f872edea7313305fdab5c3c and updates to a new version of jazzer_libfuzzer with a few reverts. Speculative fix for crashes in memmove.
2021-04-26Add missing workspace name to libFuzzer patchFabian Meumertzheim