Commit Graph

431 Commits

Author SHA1 Message Date
Alexandre Oliva
9544b3dbf2 rewrite gcc plugin
When we started using AFL, it did not have an integrated GCC plugin.
There was one proposed by Austin Seipp, but for various reasons we
ended up using some of its infrastructure (runtime and wrapper), but
writing the GCC plugin proper from scratch.

With AFL++'s renewed interest in a GCC plugin, we rebased ours, with
some features that are or were missing in the one that was integrated:

* efficient, fully-functional inline and out-of-line instrumentation

Inline instrumentation was work in progress in the original plugin.
Controlled by AFL_GCC_OUT_OF_LINE.

* reproducible instrumentation

Obey -frandom-seed for pseudorandom number generation.

* licensing clarity and strict compliance

GPLv3+ for the plugin, that uses GCC internals; add a copy of the
license, as required.

* allow/deny list support

Copied and adjusted from the LLVM plugin implementation.

* neverZero support

Not as compact as the asm-wrapper version, but likely more efficient.
Both are quite thread-unsafe, with different caveats.
Controlled with AFL_GCC_SKIP_NEVERZERO.
2020-09-08 14:55:19 +02:00
van Hauser
7bcbfd48e5 update ideas 2020-09-06 15:12:23 +02:00
van Hauser
6114a48b89 add std::string and bcmp to dictionary functions 2020-09-06 13:29:32 +02:00
van Hauser
163e5ffd10 -p seek is now the default 2020-09-05 17:40:39 +02:00
van Hauser
ded4d093ff skip crashes but keep for splices 2020-09-05 16:16:56 +02:00
van Hauser
2508922288 cmp dict for LTO 2020-09-05 15:49:10 +02:00
vanhauser-thc
e30b2c6af6 final changes for pre-3.0 2020-09-05 13:18:28 +02:00
van Hauser
fac108476c v2.68c 2020-09-04 22:50:45 +02:00
van Hauser
6c715f1a69 more changes to fuzzer_setup 2020-09-04 17:04:42 +02:00
van Hauser
020b8a4964 minor FAQ fixes 2020-09-02 20:19:49 +02:00
van Hauser
651ad18e21 added the grammar mutator as a git submodule + documentation 2020-09-01 10:52:39 +02:00
hexcoder
ed6243df5a Review FAQ.md 2020-09-01 00:49:26 +02:00
van Hauser
a552631d3b update changelog 2020-08-31 20:22:20 +02:00
ploppelop
338638b124 Update parallel_fuzzing.md
fix multisystem example
2020-08-31 18:34:27 +02:00
van Hauser
e4de4e3500 update gitignore 2020-08-31 18:32:01 +02:00
van Hauser
192cadee34 fix docs 2020-08-31 18:10:18 +02:00
van Hauser
58cf030546 fix for MacOS sudo 2020-08-31 16:34:57 +02:00
hexcoder-
8253f90134 typos/wording 2020-08-31 15:16:55 +02:00
hexcoder-
7fb72f1038 typos 2020-08-31 14:47:22 +02:00
van Hauser
6c980e2a02 rewrite documentation 2020-08-31 12:56:14 +02:00
van Hauser
e7db4d4fe0 fix sync script, update remote sync documentation 2020-08-31 12:36:30 +02:00
hexcoder-
567042d146 typos fixed. 2020-08-31 12:32:31 +02:00
Dominik Maier
4697e4a5a5 description for AFL_MAX_DET_EXTRAS added 2020-08-31 12:26:41 +02:00
Raphaël Hertzog
41bb359428 Fix various spelling errors (#532)
All those spelling errors have been caught by lintian's built-in
spellchecker:
https://lintian.debian.org/tags/spelling-error-in-binary.html
2020-08-28 23:04:25 +02:00
van Hauser
c7f0d30668 added afl_custom_fuzz_count 2020-08-24 17:32:41 +02:00