Commit Graph

2910 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
43cb626ad3 revert for unicorn_mode 2020-09-08 14:03:53 +02:00
van Hauser
13f2ac83a9 fix GNUmakefile for new qemuafl 2020-09-08 11:48:31 +02:00
van Hauser
374e068f97 set correct error code when -V 2020-09-08 11:37:09 +02:00
Andrea Fioraldi
10f775be07 conflicts 2020-09-08 11:19:17 +02:00
Andrea Fioraldi
3565641c41 arm64 travis 2020-09-08 11:13:16 +02:00
Andrea Fioraldi
679b2d63a8 qemuafl + arm 2020-09-08 10:56:37 +02:00
van Hauser
6404abd7d6 bugfix for fixed seeds 2020-09-07 17:30:28 +02:00
van Hauser
7bcbfd48e5 update ideas 2020-09-06 15:12:23 +02:00
van Hauser
06ac2850c5 bcmp for compare-transform-pass 2020-09-06 13:53:40 +02:00
van Hauser
6114a48b89 add std::string and bcmp to dictionary functions 2020-09-06 13:29:32 +02:00
van Hauser
e065ba9497 update gitignore 2020-09-06 12:47:14 +02:00
aflpp
8ec41b2585 fix various warnings 2020-09-06 11:40:41 +02:00
van Hauser
bd007c151d fix unicorn clean 2020-09-06 11:23:59 +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
van Hauser
39c020ec74 Merge pull request #549 from AFLplusplus/ignore_unstable_edges
ignore unstable edges
2020-09-05 13:26:46 +02:00
van Hauser
81b1d85f61 Merge pull request #548 from AFLplusplus/pre-3
Pre 3.0 changes
2020-09-05 13:26:08 +02:00
vanhauser-thc
2f90f2faba code-format 2020-09-05 13:19:19 +02:00
vanhauser-thc
e30b2c6af6 final changes for pre-3.0 2020-09-05 13:18:28 +02:00
vanhauser-thc
4b3ad5f037 add cull queue, -i subdir traversal 2020-09-05 12:32:10 +02:00
vanhauser-thc
996986bed5 first batch of changes 2020-09-05 12:11:48 +02:00
van Hauser
fac108476c v2.68c 2020-09-04 22:50:45 +02:00
van Hauser
976ee9022c fix assignment 2020-09-04 22:47:37 +02:00