37 Commits

Author SHA1 Message Date
van Hauser
baf1ac2e69 basic cmplog std::string support 2021-01-22 15:58:12 +01:00
van Hauser
46010a8704 prepare for cmplog rtn std::string support for llvm and g++ 2021-01-22 13:50:16 +01:00
van Hauser
fc3f06caec
Merge pull request #689 from AFLplusplus/cmplog_merge
cmplog merge
2021-01-21 12:03:21 +01:00
van Hauser
d20a50a413 hex en/decode works now 2021-01-20 20:59:17 +01:00
van Hauser
e7b572af36 bugfix and new transform detection feature 2021-01-20 01:49:32 +01:00
van Hauser
0367f6c723 cleanup and rename _DISCARD->_SKIP 2021-01-19 14:03:10 +01:00
van Hauser
0b545aaeb4 use enums, support cmplog map collisions 2021-01-18 20:18:18 +01:00
van Hauser
0c061186cf less logging 2021-01-18 12:13:36 +01:00
van Hauser
c71ce79963 fix colorization 2021-01-17 15:18:20 +01:00
van Hauser
a0e884cf8b merge cmplog 2021-01-15 16:56:40 +01:00
van Hauser
fba8790e32 better error reporting 2021-01-15 15:12:27 +01:00
van Hauser
1827c65596 better gcc_plugin error msg 2021-01-08 12:55:05 +01:00
van Hauser
52c221fc48 selective coverage fix 2021-01-06 09:35:47 +01:00
van Hauser
4c78bb7080 cpp fix 2021-01-05 22:13:55 +01:00
van Hauser
9d4614ce2f haiku support 2021-01-05 19:06:27 +01:00
van Hauser
caf1fbd632 selective_coverage implementation in afl-compiler-rt 2021-01-05 11:52:55 +01:00
van Hauser
a561de6e97 forgot struct keyword 2021-01-05 10:40:46 +01:00
van Hauser
7acf410ab6 afl coverage feature example 2021-01-05 10:35:12 +01:00
van Hauser
6c095b3937 code format 2021-01-04 23:13:56 +01:00
hexcoder-
251e72f136 mehr code cleanup 2021-01-04 21:25:53 +01:00
van Hauser
ea9db86bb8 mem error fix 2020-12-18 10:20:43 +01:00
hexcoder-
1825e5f313 typo 2020-12-11 17:01:46 +01:00
van Hauser
2bf68a0bf4 fix MMAP 2020-12-11 11:19:26 +01:00
van Hauser
39a4fac941 better examples 2020-12-09 11:07:14 +01:00
hexcoder-
9534bb87b1 fix some copmpiler warnings for USEMMAP 2020-12-08 23:26:28 +01:00
hexcoder-
2b543a64af small fixes 2020-12-08 22:12:05 +01:00
van Hauser
6e61b2345c more reporting on errors 2020-12-08 20:33:41 +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
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
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
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
ab744abc4b code-format 2020-09-08 17:54:01 +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
vanhauser-thc
996986bed5 first batch of changes 2020-09-05 12:11:48 +02:00