This is an archive of the discontinued LLVM Phabricator instance.

Update LLVM fuzzers to use the libFuzzer bundled with the compiler toolchain
ClosedPublic

Authored by george.karpenkov on Aug 22 2017, 5:28 PM.

Details

Summary

The only current downside is that on mac fuzzing only works when ASAN_OPTIONS=detect_container_overflow=0 is specified.
This happens as libFuzzer itself is not compiled with sanitization anymore.
I am working on a fix for that.

Diff Detail

Repository
rL LLVM

Event Timeline

cmake/modules/HandleLLVMOptions.cmake
667 ↗(On Diff #112267)

This is important. Otherwise, libFuzzer dies with a message about inconsistent coverage annotation.

tools/llvm-dwarfdump/fuzzer/llvm-dwarfdump-fuzzer.cpp
39 ↗(On Diff #112267)

Had to fix this file, otherwise wouldn't compile.

tools/llvm-mc-assemble-fuzzer/llvm-mc-assemble-fuzzer.cpp
12 ↗(On Diff #112267)

No trivial path to it anymore, and unclear why it was included.

kcc accepted this revision.Aug 22 2017, 5:35 PM
kcc edited reviewers, added: morehouse, vitalybuka; removed: samsonov.

LGTM
Please don't add samsonov@ to reviews -- he has left the team :(
Please add morehouse@ and vitalybuka@ instead.

This revision is now accepted and ready to land.Aug 22 2017, 5:35 PM
vitalybuka accepted this revision.Aug 22 2017, 5:40 PM
This revision was automatically updated to reflect the committed changes.