Commit Graph

120 Commits

Author SHA1 Message Date
7acf410ab6 afl coverage feature example 2021-01-05 10:35:12 +01:00
6c095b3937 code format 2021-01-04 23:13:56 +01:00
251e72f136 mehr code cleanup 2021-01-04 21:25:53 +01:00
ea9db86bb8 mem error fix 2020-12-18 10:20:43 +01:00
1825e5f313 typo 2020-12-11 17:01:46 +01:00
2bf68a0bf4 fix MMAP 2020-12-11 11:19:26 +01:00
39a4fac941 better examples 2020-12-09 11:07:14 +01:00
9534bb87b1 fix some copmpiler warnings for USEMMAP 2020-12-08 23:26:28 +01:00
2b543a64af small fixes 2020-12-08 22:12:05 +01:00
6e61b2345c more reporting on errors 2020-12-08 20:33:41 +01:00
e32b7eeb83 fixed child not killed with -c 2020-11-19 16:14:19 +01:00
f80f62f14b renamed env var to AFL_DEBUG_CHILD 2020-11-18 03:02:13 +01:00
3ac953ec33 typo 2020-11-14 20:09:33 +01:00
4a4c14c9a9 more fixes, leaks and compile errors 2020-11-12 23:47:49 +01:00
44c0dc6d96 fix expand havoc 2020-09-18 12:19:27 +02:00
3abace4f54 Haiku build fix. (#556) 2020-09-13 16:58:06 +02:00
862b6d0382 fix for afl-compiler-rt to only send dictionary data if there is some 2020-09-11 08:56:28 +02:00
ab744abc4b code-format 2020-09-08 17:54:01 +02:00
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
996986bed5 first batch of changes 2020-09-05 12:11:48 +02:00