447 Commits

Author SHA1 Message Date
vanhauser-thc
c05e4efbe9 renamed examples/ to utils/ 2020-12-01 14:40:30 +01:00
van Hauser
8584f9d2b5 added AFL_NO_AUTODICT 2020-12-01 13:13:11 +01:00
van Hauser
f7d8643dc4 update clang-format to 11 2020-11-30 22:08:26 +01:00
van Hauser
e769102491 more DEBUGF 2020-11-30 21:54:18 +01:00
van Hauser
403b8a1086 update persistent doc 2020-11-30 21:13:16 +01:00
van Hauser
63c317218b persistent_demo -> persistent_mode 2020-11-30 13:03:33 +01:00
van Hauser
e32b7eeb83 fixed child not killed with -c 2020-11-19 16:14:19 +01:00
Dominik Maier
f80f62f14b renamed env var to AFL_DEBUG_CHILD 2020-11-18 03:02:13 +01:00
van Hauser
1cc637a0a0 support AFL_LLVM_INSTRUMENT env for our own PCGUARD 2020-11-16 10:59:09 +01:00
hexcoder-
3ac953ec33 typo 2020-11-14 20:09:33 +01:00
hexcoder-
4a4c14c9a9 more fixes, leaks and compile errors 2020-11-12 23:47:49 +01:00
van Hauser
50c98445fe do not try to compile pcguard if llvm is not current enough 2020-11-06 09:15:18 +01:00
hexcoder-
f8bbbf31ec remove duplicate headers, make '#include VirtualFileSystems.h' version dependent 2020-11-05 22:45:07 +01:00
hexcoder
a8de605637
typo 2020-11-04 17:13:12 +01:00
van Hauser
050354a9de code-format 2020-11-02 17:34:58 +01:00
van Hauser
26d78ce2ec more llvm 10.0.0 fixes 2020-11-02 17:21:07 +01:00
van Hauser
80401940e3 more llvm 10.0.0 fixes 2020-11-02 17:08:05 +01:00
van Hauser
0863d940fe more llvm 10.0.0 fixes 2020-11-02 16:24:16 +01:00
van Hauser
e24f8ba4b0 fix SancovPCGUARD for 10.0.0 2020-11-02 13:53:27 +01:00
van Hauser
e0fe546459 disable indirect calls in pcguard 2020-11-02 11:55:14 +01:00
van Hauser
0fd98ae8b0 added mutation introspection make target 2020-11-01 21:34:08 +01:00
van Hauser
f810639ab1 add our own inline trace-pc-guard 2020-10-31 14:18:58 +01:00
hexcoder-
9e3b818c35 fix warning on Debian 32 bit 2020-10-29 18:47:00 +01:00
van Hauser
abac876b3a better warn if skipping large dict 2020-10-29 10:45:32 +01:00
hexcoder-
f519fff7bc fix compiler warning on 32-bit platforms 2020-10-06 21:56:17 +02:00
van Hauser
383cd487a2 small improvements to Marcel's patch, fix laf-intel + redqueen crashes 2020-09-29 15:02:57 +02:00
van Hauser
fc75d2b181 remove warnings 2020-09-25 13:14:54 +02:00
van Hauser
f4a0407270 add comment for future 2020-09-22 20:06:39 +02:00
van Hauser
daa2285083 fix LTO autodictionary for ints > 64 bits 2020-09-22 09:32:16 +02:00
aflpp
093754f6bf dict2file fix for integers > 64 bit 2020-09-22 02:04:23 +02:00
van Hauser
44c0dc6d96 fix expand havoc 2020-09-18 12:19:27 +02:00
David CARLIER
3abace4f54
Haiku build fix. (#556) 2020-09-13 16:58:06 +02:00
Dominik Maier
7f94fe3587 code format 2020-09-13 14:26:57 +02:00
hexcoder-
688e2c87df portability: make llvm-dict2file compilable under Ubuntu xenial (llvm 3.8.0) 2020-09-11 22:13:42 +02:00
hexcoder-
38e6de1eff portability: make new gcc-plugin compilable under Ubuntu 16.04 (gcc 5.4.0) 2020-09-11 21:46:20 +02:00
van Hauser
862b6d0382 fix for afl-compiler-rt to only send dictionary data if there is some 2020-09-11 08:56:28 +02:00
van Hauser
fdb0452245 update documentation 2020-09-10 08:54:57 +02:00
van Hauser
454a860020 update gcc readme 2020-09-09 23:25:01 +02:00
van Hauser
9b6564f0a3 fix for gcc_plugin 2020-09-09 09:36:27 +02:00
van Hauser
ab744abc4b code-format 2020-09-08 17:54:01 +02:00
van Hauser
2802245da7 update instrumenation/README.instrument_file.md for gcc_plugin 2020-09-08 17:15:32 +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
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
aflpp
8ec41b2585 fix various warnings 2020-09-06 11:40:41 +02:00
van Hauser
2508922288 cmp dict for LTO 2020-09-05 15:49:10 +02:00
vanhauser-thc
996986bed5 first batch of changes 2020-09-05 12:11:48 +02:00