Skip to content

Commit

Permalink
Update readme with clang version and options details.
Browse files Browse the repository at this point in the history
  • Loading branch information
carolemieux authored Dec 15, 2018
1 parent 902f6e5 commit d140281
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,18 @@ make
cd ..
```
in the ```perffuzz``` directory, after having built PerfFuzz.


- Q: What version of clang should I use?
- A: PerfFuzz was evaluated with clang-3.8.0 on Linux and works with verison 8 on Mac. To experiment with different clang/LLVM version, add the bin/ directory from the pre-build clang archives to the front of your PATH when compiling.

- Q: I'm getting an error involving the ```-fno-rtti``` option.
- A: If you're on Redhat Linux, this may be a gcc/clang [compatibility issue](https://www.google.com/search?rlz=1C5CHFA_enUS731US732&ei=2u76W-eWLcSC_wT4g5vYBw&q=redhat+no+rtti+typeid&oq=redhat+no+rtti+typeid). Apparently [gcc-4.7 fixes the issue](https://issues.couchbase.com/browse/JSCBC-307).


## Running PerfFuzz on a program of your choice

### Compile your program with perffuzz
### Compile your program with PerfFuzz

To compile your C/C++ program with perffuzz, replace ```CC``` (resp. ```CXX```) with ```path/to/perffuzz/afl-clang-fast``` (resp. ```path/to/perffuzz/afl-clang-fast++```) in your build process.
See section (3) of README (not README.md) for more details, replacing references of ```path/to/afl/afl-gcc``` with ```path/to/perffuzz/afl-clang-fast```.
Expand All @@ -43,7 +50,9 @@ make

### Run PerfFuzz on your program.

In short, follow the instructions in README (regular AFL readme) section 6, but add the ```-p``` option to enable PerfFuzz, and the ```-N num``` option to restrict the size of produced inputs to a maximum file size of ```num```. Make sure your initial seed inputs (in the input directory) are of smaller size than ```num``` bytes!
In short, follow the instructions in README (regular AFL readme) section 6, but __add the ```-p``` option to enable PerfFuzz__, and the ```-N num``` option to restrict the size of produced inputs to a maximum file size of ```num```. Make sure your initial seed inputs (in the input directory) are of smaller size than ```num``` bytes!

On many programs (including the benchmarks in the paper), the ```-d``` option ([Fidgety](https://groups.google.com/forum/#!topic/afl-users/1PmKJC-EKZ0) mode) offers better performance.

Let PerfFuzz run for as long as you like: we ran for a few hours on larger benchmarks.

Expand Down

0 comments on commit d140281

Please sign in to comment.