564 Commits

Author SHA1 Message Date
e2ca7a6397 variant 6 2021-10-28 18:02:57 +02:00
bb8a4d71da format and remove warning 2021-10-18 20:53:54 +02:00
7cd98f565f lto and llvm14-dev 2021-10-18 12:16:58 +02:00
6403fa4f70 fix 2021-10-18 00:41:16 +02:00
9c278df038 try fix 2021-10-18 00:21:33 +02:00
4b4244bcf6 fix 2021-10-17 21:47:08 +02:00
462149de64 fix 2021-10-17 20:31:02 +02:00
e8cf04c90d fix 2021-10-17 13:20:32 +02:00
ed10f3783b new rtn cmplog: instrumentation side + supporting functions 2021-10-17 13:05:33 +02:00
7d0e0cde0a fix declaration for new pass manager 2021-10-16 14:51:51 +02:00
1f2fa22dad make new pass manager interface compiler version dependent (>=7) 2021-10-16 14:37:54 +02:00
c49b308794 switch PreservedAnalyses from none to all 2021-10-16 12:56:31 +02:00
379c580658 converted split-switches-pass to new pass manager 2021-10-12 23:40:05 +02:00
6e08e80907 converted compare-transform-pass to new pass manager 2021-10-12 23:24:28 +02:00
544a65db54 converted afl-llvm-pass to new pass manager 2021-10-12 23:02:15 +02:00
8e66289809 adapt compiler driver to laod new pass manager passes 2021-10-12 19:04:35 +02:00
d0fc985e22 prototype compiles 2021-10-12 00:00:05 +02:00
f6fbbf8150 Fix document paths. 2021-10-10 21:03:43 +08:00
65afe5addc LLVM coverage making it more C++ too. 2021-10-09 18:31:12 +01:00
7b1fed78d8 Merge pull request #1107 from devnexen/llvm_pass_update
LLVM passes making slightly more C++
2021-10-09 18:50:35 +02:00
580401591f LLVM passes making slightly more C++ 2021-10-09 17:23:32 +01:00
716d2029c0 LLVM LTO plugin using smart pointer for __afl_internal_directory variable 2021-10-03 15:58:03 +01:00
e25f7cefdc announce llvm 13 support 2021-08-25 12:29:44 +02:00
5ba3601697 revise paragraph 2021-08-20 13:52:07 +02:00
41a4c99d01 typos / wording 2021-08-20 12:37:47 +02:00
591d6c59c7 fix shared linking on macos 2021-08-19 17:02:17 +02:00
c775f40ebf AFL_IGNORE_PROBLEMS + library checks and documentation 2021-08-12 14:32:44 +02:00
df74625df0 Change afl to AFL in *.md (#1057)
Changes in *.md files:
- afl++ > AFL++ (acronym)
- afl > AFL (compare https://github.com/google/AFL)

Excluded from changes:
- source code
- function names
- paths (folder and file names)
- URLs
2021-08-08 01:29:32 +02:00
c3fbf5dca3 add more string functions for dictionary features 2021-07-30 08:33:18 +02:00
ac13902a93 fix format string 2021-07-30 00:16:37 +00:00
6a6387582c Update README.persistent_mode.md 2021-07-20 15:59:40 -04:00
32a0d6ac31 Revert "Merge branch 'release' into stable"
This reverts commit 8151618276, reversing
changes made to 9321a24e68.
2021-07-19 10:58:19 +02:00
cc57cc5f46 fix merge conflicts 2021-07-19 10:48:41 +02:00
9ec63d3f17 fix frida, fix dictionary generation to honor AFL_LLVM_{ALLOW/DENY}LIST 2021-07-14 14:31:27 +02:00
3a3ef7b6b4 update documentation 2021-07-14 12:16:52 +02:00
f1bcd378a2 fix failures for some sized string instrumentations 2021-07-07 12:19:05 +02:00
046a9520f3 Inline cmplog (#996)
* inline cmplog check

* better switch support

* add cmplog-switches-pass.cc
2021-06-28 09:14:41 +02:00
1fcb52957e fix frida 2021-06-24 09:59:00 +02:00
ff4d45eed2 cmplog fix for qemu and frida 2021-06-22 22:05:28 +02:00
35153e9b49 correct map size for small targets 2021-06-16 15:33:03 +02:00
c46f8c1f70 make afl-cmin actually work with subdirectories 2021-06-16 13:03:42 +02:00
35c23be973 adapt for LLVM 3.8.0 2021-06-11 21:34:56 +02:00
d2e256e73a fix to instrument global c++ namespace functions 2021-06-11 14:39:35 +02:00
581593ccab code format 2021-06-11 11:05:57 +02:00
0978c08f4b split-comparison llvm pass refactor for smaller compilation times (and a small bug fix) (#964)
* Refactored split compare pass to be more efficient in LTO usage and allow splitting to other minimum bitwidths.

Efficiency: avoid looping over the whole llvm module N times, when once is also enough.

Bitwidth: Previously, due to fallthrough in switch-case, all comparisons were split to 8-bit, which might not be desirable e.g., 16 or 32 bit might be enough. So now all comparison are split until they are smaller or equal to the target bitwidth, which is controlled through the `AFL_LLVM_LAF_SPLIT_COMPARES_BITW` environment variable.

* fixed miscompilation due to incorrectly trying to split a signed comparison operator

* minor formatting updates and use IRBuilder when inserting multiple instructions

* added @hexcoder-'s test-int_cases.c to make test

* Avoid recursion; switch to smallvector in splitAndSimplify; use switch case for icmp type;

* Fixed issue when splitting < where the inverse comparison was not further split

* some cleanup
2021-06-11 11:02:29 +02:00
a4cb2414d5 Revert "add test cases for splitting integer comparisons"
This reverts commit e0aa411647.
2021-06-09 21:29:41 +02:00
e0aa411647 add test cases for splitting integer comparisons 2021-06-09 20:26:37 +02:00
c88f650bf8 adapt to minimum llvm version 2021-06-08 10:05:04 +02:00
2d2d9b0b77 Merge branch 'dev' of https://github.com/AFLplusplus/AFLplusplus into dev 2021-06-07 13:47:42 +02:00
2449866f21 more info for error logging 2021-06-07 13:47:27 +02:00