This is an archive of the discontinued LLVM Phabricator instance.

[BOLT] Added fuzzer target (llvm-bolt-fuzzer)
ClosedPublic

Authored by Amir on Feb 17 2022, 12:59 AM.

Details

Summary

This adds a target that would consume random binary as an
input ELF file.
TBD: add structured input support (ELF).

Build:

cmake /path/to/llvm-project/llvm -GNinja \
-DLLVM_TARGETS_TO_BUILD="X86;AArch64" \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_ENABLE_ASSERTIONS=1 \
-DCMAKE_C_COMPILER=<sanitizer-capable clang> \
-DCMAKE_CXX_COMPILER=<sanitizer-capable clang++> \
-DLLVM_ENABLE_PROJECTS="bolt"  \
-DLLVM_USE_SANITIZER=Address \
-DLLVM_USE_SANITIZE_COVERAGE=On
ninja llvm-bolt-fuzzer

Test Plan: ninja llvm-bolt-fuzzer

Diff Detail

Event Timeline

Amir created this revision.Feb 17 2022, 12:59 AM
Amir requested review of this revision.Feb 17 2022, 12:59 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 17 2022, 12:59 AM
maksfb accepted this revision.Feb 20 2022, 4:38 PM

LGTM

This revision is now accepted and ready to land.Feb 20 2022, 4:38 PM
This revision was landed with ongoing or failed builds.Feb 20 2022, 5:24 PM
This revision was automatically updated to reflect the committed changes.