Commit Graph

197 Commits

Author SHA1 Message Date
52c221fc48 selective coverage fix 2021-01-06 09:35:47 +01:00
4c78bb7080 cpp fix 2021-01-05 22:13:55 +01:00
faefad564b Haiku afl-system-config disable debugger, afl-cc.c avoid -lrt 2021-01-05 16:49:04 +00:00
6b54310452 selective instrumentation documented 2021-01-05 12:30:26 +01:00
6c095b3937 code format 2021-01-04 23:13:56 +01:00
c6e038fe25 code cleanups (shadowed vars, (un)signed type mismatches, format types, etc.) 2021-01-04 20:40:53 +01:00
107c79b84b now fix afl-clang compiles on 32-Bit properly 2020-12-29 18:17:50 +01:00
80767480f0 Revert "fix afl-clang on 32-Bit systems"
This reverts commit 83c1378fc1.
2020-12-29 18:13:36 +01:00
83c1378fc1 fix afl-clang on 32-Bit systems 2020-12-29 14:19:35 +01:00
d103e39f58 fix instrumentation type display 2020-12-28 17:06:55 +01:00
a4fd4ea0f4 fix LTO 2020-12-25 12:13:45 +01:00
9759320266 afl-clang-fast fix 2020-12-22 12:33:58 +01:00
27b9ba4502 better gcc and clang support for afl-cc 2020-12-22 10:51:40 +01:00
7e27448dac another 32 bit fix 2020-12-21 12:19:22 +01:00
2e3cf10070 document AFL_LLVM_INSTRUMENT option NATIVE 2020-12-20 22:53:41 +01:00
98ee17bc47 fix endless loop in afl-cc allow/blocklists starting a line with a comment 2020-12-20 14:30:06 +01:00
e0ab846f7f v3.00c 2020-12-15 09:37:52 +01:00
cc781e44f3 code format 2020-12-11 11:21:28 +01:00
2bf68a0bf4 fix MMAP 2020-12-11 11:19:26 +01:00
a686c1361c fix afl-cc library search 2020-12-10 15:31:26 +01:00
e6de85861c fixes and code format 2020-12-07 14:36:04 +01:00
4c2e375e22 little fixes 2020-12-07 14:29:59 +01:00
8f79116a15 fix find_object proc search (#elsif -> #elif), optimize static if away 2020-12-05 09:48:55 +01:00
f8c33f29e8 Typos 2020-12-05 09:19:14 +01:00
295ddaf96b fix for afl-cc 2020-12-03 15:19:10 +01:00
0f803c63df move debug print 2020-12-02 15:08:08 +01:00
1890d7b9cf very complete runtime lookup rewrite 2020-12-02 15:03:21 +01:00
e769102491 more DEBUGF 2020-11-30 21:54:18 +01:00
1b75cc9f74 add DEBUGF 2020-11-30 21:38:15 +01:00
ded80870a9 reenable afl-clang(++) 2020-11-01 06:22:18 +01:00
27c3423fb6 test-pre.sh: remove old uses of afl-clang, afl-cc.c: add missing env.var. AFL_LLVM_LAF_ALL 2020-11-24 19:38:55 +01:00
b260204b72 Solaris/Illumos build fix. (#609) 2020-11-18 19:13:03 +01:00
23f37ff505 fixed alloc errors, code format 2020-11-18 02:33:47 +01:00
54fdec0e51 fix: avoid preprocessor logic in macro arguments (not portable) 2020-11-17 21:07:29 +01:00
1cc637a0a0 support AFL_LLVM_INSTRUMENT env for our own PCGUARD 2020-11-16 10:59:09 +01:00
82d1c3e18d fix wrong llvm version comparison 2020-11-08 17:08:30 +01:00
585ba4c1dd fix for llvm 10.0.0 2020-11-08 16:33:25 +01:00
6abe4d124e require llvm 10.0.1+ for enhanced pcguard, correct 1MB checks 2020-11-05 08:53:16 +01:00
f810639ab1 add our own inline trace-pc-guard 2020-10-31 14:18:58 +01:00
52c135e1a2 fix warning 2020-09-22 02:05:31 +02:00
7cdbe3173e fixed ngram size unset 2020-09-13 15:00:10 +02:00
380051868a add libfuzzer custom mutator, minor enhancements and fixes 2020-09-10 15:26:46 +02:00
ab744abc4b code-format 2020-09-08 17:54:01 +02:00
c091340a85 new gcc_plugin integration 2020-09-08 16:15:31 +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
8ec41b2585 fix various warnings 2020-09-06 11:40:41 +02:00
996986bed5 first batch of changes 2020-09-05 12:11:48 +02:00