This is an archive of the discontinued LLVM Phabricator instance.

Replace fuzzer::FuzzerDriver's INTERFACE marking with new LLVMRunFuzzerDriver.
ClosedPublic

Authored by IanPudney on Jul 24 2020, 3:26 PM.

Details

Summary

This adds a new extern "C" function that serves the same purpose. This removes the need for external users to depend on internal headers in order to use this feature. It also standardizes the interface in a way that other fuzzing engines will be able to match.

Diff Detail

Event Timeline

IanPudney created this revision.Jul 24 2020, 3:26 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 24 2020, 3:26 PM
Herald added a subscriber: Restricted Project. · View Herald Transcript
hctim added a subscriber: kcc.Jul 24 2020, 3:30 PM

Revert of the original changes was already done in 540b92147da0e9a2c2d096505eb0785ec79f2024 :) - a rebase should fix it up.

I'll let @kcc take this one.

hctim added a reviewer: kcc.Jul 24 2020, 3:30 PM
kcc added a comment.Jul 24 2020, 3:34 PM

Code LGTM, thanks!
Please add a section in docs/LibFuzzer.html.
I'd add it after "Startup initialization", something like "Using libFuzzer as a library".

I assume you will also need to introduce a .so build target.
Will you do it in a separate change?

IanPudney updated this revision to Diff 280613.Jul 24 2020, 4:13 PM
IanPudney edited the summary of this revision. (Show Details)

Removed changes that were already made in a previous change, and adds docs.

Herald added a project: Restricted Project. · View Herald TranscriptJul 24 2020, 4:13 PM
kcc accepted this revision.Jul 27 2020, 10:35 AM

LGTM.
Matt, please help land it

This revision is now accepted and ready to land.Jul 27 2020, 10:35 AM
This revision was automatically updated to reflect the committed changes.