aboutsummaryrefslogtreecommitdiff
path: root/third_party
diff options
context:
space:
mode:
authorFabian Meumertzheim <meumertzheim@code-intelligence.com>2021-02-26 14:35:53 +0100
committerFabian Meumertzheim <fabian@meumertzhe.im>2021-03-22 15:05:37 +0100
commitf97bb51a4def4b24c54b763dad7cfc84940c693e (patch)
tree169901e90d2e9de68613bc8a0799186a95f2af3b /third_party
parent2c8c48f4d252c77c2bb35347f260a1a9385ad684 (diff)
downloadjazzer-api-f97bb51a4def4b24c54b763dad7cfc84940c693e.tar.gz
Replace -Wl,--wrap with a source code patch
Diffstat (limited to 'third_party')
-rw-r--r--third_party/BUILD.bazel1
-rw-r--r--third_party/libFuzzer-pass-death-callback-to-jazzer.patch28
2 files changed, 29 insertions, 0 deletions
diff --git a/third_party/BUILD.bazel b/third_party/BUILD.bazel
index dd84abb5..11a555eb 100644
--- a/third_party/BUILD.bazel
+++ b/third_party/BUILD.bazel
@@ -2,6 +2,7 @@ exports_files([
"gflags-use-double-dash-args.patch",
"jacoco-make-probe-inserter-subclassable.patch",
"jacoco_internal.BUILD",
+ "libFuzzer-pass-death-callback-to-jazzer.patch",
"libFuzzer.BUILD",
"libjpeg_turbo.BUILD",
])
diff --git a/third_party/libFuzzer-pass-death-callback-to-jazzer.patch b/third_party/libFuzzer-pass-death-callback-to-jazzer.patch
new file mode 100644
index 00000000..31bd2af1
--- /dev/null
+++ b/third_party/libFuzzer-pass-death-callback-to-jazzer.patch
@@ -0,0 +1,28 @@
+diff --git compiler-rt/lib/fuzzer/FuzzerExtFunctions.def compiler-rt/lib/fuzzer/FuzzerExtFunctions.def
+index 51edf8444..e31f00402 100644
+--- compiler-rt/lib/fuzzer/FuzzerExtFunctions.def
++++ compiler-rt/lib/fuzzer/FuzzerExtFunctions.def
+@@ -42,7 +42,7 @@ EXT_FUNC(__sanitizer_symbolize_pc, void,
+ EXT_FUNC(__sanitizer_get_module_and_offset_for_pc, int,
+ (void *pc, char *module_path,
+ size_t module_path_len,void **pc_offset), false);
+-EXT_FUNC(__sanitizer_set_death_callback, void, (void (*)(void)), true);
++EXT_FUNC(__jazzer_set_death_callback, void, (void (*)(void)), true);
+ EXT_FUNC(__sanitizer_set_report_fd, void, (void*), false);
+ EXT_FUNC(__msan_scoped_disable_interceptor_checks, void, (), false);
+ EXT_FUNC(__msan_scoped_enable_interceptor_checks, void, (), false);
+diff --git compiler-rt/lib/fuzzer/FuzzerLoop.cpp compiler-rt/lib/fuzzer/FuzzerLoop.cpp
+index 6e3bf44f8..9d17b911c 100644
+--- compiler-rt/lib/fuzzer/FuzzerLoop.cpp
++++ compiler-rt/lib/fuzzer/FuzzerLoop.cpp
+@@ -138,8 +138,8 @@ void Fuzzer::HandleMalloc(size_t Size) {
+ Fuzzer::Fuzzer(UserCallback CB, InputCorpus &Corpus, MutationDispatcher &MD,
+ FuzzingOptions Options)
+ : CB(CB), Corpus(Corpus), MD(MD), Options(Options) {
+- if (EF->__sanitizer_set_death_callback)
+- EF->__sanitizer_set_death_callback(StaticDeathCallback);
++ if (EF->__jazzer_set_death_callback)
++ EF->__jazzer_set_death_callback(StaticDeathCallback);
+ assert(!F);
+ F = this;
+ TPC.ResetMaps();