28 Commits

Author SHA1 Message Date
van Hauser
06264df168 rename whitelist -> instrumentlist 2020-06-30 17:28:21 +02:00
van Hauser
878b27af76 blacklist -> ignore renaming 2020-06-30 16:52:48 +02:00
van Hauser
49a769ac06 lto whitelist in test.sh 2020-06-23 21:23:10 +02:00
van Hauser
38df6eb3a9 LTO whitelist functionality rewritten, now anything can be skipped 2020-05-23 17:00:02 +02:00
van Hauser
ef2ccc8117 added AFL_LLVM_SKIPSINGLEBLOCK and changed default behaviour to instrument single block functions 2020-05-07 14:59:12 +02:00
van Hauser
140053502b import transform fix into autodict, code-format 2020-05-07 08:08:20 +02:00
van Hauser
80ddb484de added InsTrimLTO :-) 2020-05-06 11:51:28 +02:00
van Hauser
00683d06c2 fix LTO mode 2020-05-05 20:10:54 +02:00
van Hauser
378573ab8b AFL_LLVM_SKIP_NEVERZERO added 2020-05-02 00:39:13 +02:00
van Hauser
0c3d06c41e refactored whitelist and blacklist in llvm_mode 2020-04-25 17:53:38 +02:00
van Hauser
766085293d variable map size fix, error reporting through forkserver, code format 2020-04-24 12:09:25 +02:00
van Hauser
cce8c4dbae fixed map location support for LTO 2020-04-23 08:56:06 +02:00
van Hauser
3502db1ac5 more sanitizer functions for blacklist 2020-04-23 07:28:25 +02:00
van Hauser
2162fd8e1a preliminary stuff for AFL_MAP_SIZE and afl-llvm-pass 2020-04-17 10:46:35 +02:00
van Hauser
ef311ec70c done implementing AFL_MAP_SIZE 2020-04-17 10:08:56 +02:00
van Hauser
eec725a345 add global and local var support to autodictionary 2020-04-12 10:34:03 +02:00
van Hauser
68f269437d
Autodictionary (#309)
* lto module clean-up

* step 1/3

* step 1/3 completed

* if tmp is ever made non-static

* parts 2 and 3 - autodictionary is complete

* variable map_size support

* variable map size: changed overlooked functions

* remove debug for autodict

* 64 bit alignment of map size

* fix review comments

* force 64 bit alignment on both sides

* typo

* better map transfer, display snapshot in UI

* update readme
2020-04-11 07:32:42 +02:00
Dominik Maier
39e8b91806 code format 2020-04-10 22:54:31 +02:00
van Hauser
3a509c6168
LTO optimization, variable map size, autodictionary (#307)
* lto module clean-up

* step 1/3

* step 1/3 completed

* if tmp is ever made non-static

* parts 2 and 3 - autodictionary is complete

* variable map_size support

* variable map size: changed overlooked functions

* remove debug for autodict

* 64 bit alignment of map size

* fix review comments

* force 64 bit alignment on both sides

* typo
2020-04-10 22:33:11 +02:00
van Hauser
b8d84ababb lto module clean-up (#303) 2020-04-09 16:27:00 +02:00
van Hauser
c1395bb543 LTO llvm11 (#302)
* new LTO mode for llvm 11

* remove unneeded afl-ld and env vars
2020-04-09 16:27:00 +02:00
van Hauser
5602a09cc6 remove MaybeAlign 2020-04-09 10:23:37 +02:00
David Carlier
2455f081fc llvm_mode: using MaybeAlign wrapper over the deprecated setter.
seems to be available even on LLVM 3.7
2020-04-09 10:23:37 +02:00
hexcoder-
e56e2f4c18 llvm_mode: fix compiler warnings FORTIFY_SOURCE needs -O 2020-04-01 13:10:06 +02:00
van Hauser
34c090a31d add CFI sanitizer 2020-04-01 13:10:05 +02:00
van Hauser
dcf7d85cba honor no_quiet for missing llvm_mode output, also print to stderr with afl-*-rt.o.c instead of stdout for errors plus two potential bad free() fixes 2020-03-09 10:56:53 +01:00
van Hauser
0581f6ec00 bug fixes to afl-ld and intensive README.lto.md update on errors and how to do the steps by hand, plus global code format 2020-03-09 08:27:23 +01:00
van Hauser
9d686ba523
Add LTO collision free llvm_mode (#223)
* first new implementation, only works with AFL_DONT_OPTIMIZE

* bug hunting

* interim commit

* finalized LTO non-collision solution

* update documentation

* merge resulted in some problems, fixing these

* added lto env to env check

* fixed llvm weirdness to messes up our instrumentation due CFG rewrite optimizations

* all llvm instrumentation issues have been resolved! :-)

* llvm 9 is required (so far)

* update lto readme
2020-03-05 10:52:26 +01:00