266 Commits

Author SHA1 Message Date
David CARLIER
b260204b72
Solaris/Illumos build fix. (#609) 2020-11-18 19:13:03 +01:00
Dominik Maier
23f37ff505 fixed alloc errors, code format 2020-11-18 02:33:47 +01:00
hexcoder-
54fdec0e51 fix: avoid preprocessor logic in macro arguments (not portable) 2020-11-17 21:07:29 +01:00
van Hauser
1cc637a0a0 support AFL_LLVM_INSTRUMENT env for our own PCGUARD 2020-11-16 10:59:09 +01:00
van Hauser
82d1c3e18d fix wrong llvm version comparison 2020-11-08 17:08:30 +01:00
van Hauser
585ba4c1dd fix for llvm 10.0.0 2020-11-08 16:33:25 +01:00
van Hauser
6abe4d124e require llvm 10.0.1+ for enhanced pcguard, correct 1MB checks 2020-11-05 08:53:16 +01:00
van Hauser
f810639ab1 add our own inline trace-pc-guard 2020-10-31 14:18:58 +01:00
van Hauser
52c135e1a2 fix warning 2020-09-22 02:05:31 +02:00
Dominik Maier
7cdbe3173e fixed ngram size unset 2020-09-13 15:00:10 +02:00
van Hauser
380051868a add libfuzzer custom mutator, minor enhancements and fixes 2020-09-10 15:26:46 +02:00
van Hauser
ab744abc4b code-format 2020-09-08 17:54:01 +02:00
van Hauser
c091340a85 new gcc_plugin integration 2020-09-08 16:15:31 +02:00
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
aflpp
8ec41b2585 fix various warnings 2020-09-06 11:40:41 +02:00
vanhauser-thc
996986bed5 first batch of changes 2020-09-05 12:11:48 +02:00