Fuzzing: the fourth attempt to migrate to -fsanitize=fuzzer-no-link.
This instrumentation flag is recommended by libFuzzer authors, as it may enable various different instrumentation options which are actual and recommended for use. The flag is implemented in clang, so we won't have to update individual instrumentation flags anymore. See crbug.com/764514 and https://github.com/google/oss-fuzz/issues/832 AFL still supports only trace-pc-guard instrumentation, so we have to use separate compilation flags for AFL and libFuzzer, the same way as we do in OSS-Fuzz. Previous reverts: 1) https://chromium-review.googlesource.com/c/chromium/src/+/852826 The issue with sancov report generation is not resolved yet. We can either land this and break coverage on CF for some time, until I resolve crbug.com/818467 OR we can wait until crbug.com/818467 gets resolved first. I'd prefer landing this now and fixing coverage on CF after that. 2) https://chromium-review.googlesource.com/c/chromium/src/+/1087431 The issue with linker trying to link in symbols which were not used and thus were not properly instrumented has been reported to the sanitizers project and fixed on LLVM side: https://github.com/google/sanitizers/issues/971. 3) https://chromium-review.googlesource.com/c/chromium/src/+/1110348 Dead code stripping led to libFuzzer complaining about a mismatch of the size of coverage PC tables: https://crbug.com/856239. Fixed upstream: https://reviews.llvm.org/rL336941. Bug: 764514 Change-Id: Ic19a6c27ee37143f3ca126e3bc57c9182e962750 Reviewed-on: https://chromium-review.googlesource.com/1175851Reviewed-by:Abhishek Arya <inferno@chromium.org> Reviewed-by:
Jonathan Metzman <metzman@chromium.org> Commit-Queue: Max Moroz <mmoroz@chromium.org> Cr-Commit-Position: refs/heads/master@{#583294}
Showing
Please register or sign in to comment