Commit Graph

457 Commits

Author SHA1 Message Date
029e039cbc code format 2023-05-21 17:49:14 +02:00
1d0694df86 add symqemu custom mutator 2023-05-17 15:25:26 +02:00
vH
f567a89dae more llvm 17 2023-04-28 15:39:01 +02:00
vH
00c86b7cb1 llvm 17 changes 2023-04-28 14:56:52 +02:00
5813a4319c doc, code format 2023-04-28 11:42:21 +02:00
e956f23a77 Source Code Coverage support for Nyx (Part 1) (#1720)
* Additional source code reformatting in afl-compiler-rt

* Add source code coverage support to afl-compiler-rt (for use with Nyx)
2023-04-28 11:35:22 +02:00
3e84d6a2ae afl++ -> AFL++ 2023-04-27 11:49:00 +02:00
21865c6224 rename env to AFL_IGNORE_PROBLEMS_COVERAGE 2023-04-25 16:47:37 +02:00
b96ba509d0 Merge pull request #1714 from choller/dev
Add env var to ignore coverage from dynamically loaded code after forkserver
2023-04-25 16:34:23 +02:00
f94a7e8890 Add env var to ignore coverage from dynamically loaded code after forkserver.
When using TRACEPC instrumentation, loading code dynamically (e.g.
through dlopen()) it can be useful to completely ignore the loaded code,
esp. when it cannot be preloaded and is not the target to be tested.
This patch allows setting AFL_LLVM_IGNORE_PROBLEMS_COVERAGE=1 to do so.
2023-04-25 16:27:25 +02:00
531380d6ab llvm-lto: allow skipping initialization 2023-04-24 17:55:58 +02:00
120d009e7d wasm support 2023-04-15 11:36:58 +02:00
6cc8d607fb remove -z option, use -p mmopt instead 2023-04-13 11:44:39 +02:00
824385f52c make llvm 17 work 2023-04-12 14:03:29 +02:00
d304f4e4f1 update lto doc 2023-04-12 11:24:56 +02:00
743ae50775 nits 2023-04-12 10:53:23 +02:00
a0818c4fce LLVM instrumentation disable build warning.
Since clang 16 is the version for Ubuntu 23 04/Fedora 38 and is easy enough to fix..
2023-04-10 12:38:26 +01:00
a01138e1c8 fix getOperand out of range
This commit fixes a sloppy function call that should normally check the number of insn's Operand before calling insn's getOperand method. The fix is that if it is 0 it should continue the loop.
I solved problem https://github.com/AFLplusplus/AFLplusplus/issues/1688#issue-1648543691 using this modification
2023-04-03 15:32:52 +08:00
be96253f52 nits 2023-03-31 11:02:27 +02:00
c594a58583 Stop using removed pipeline extensions
LLVM commit 7ae6838defb21737963b1dd8ff9de7e87052c74f removed the
following extensions:

- PassManagerBuilder::EP_OptimizerLast
- PassManagerBuilder::EP_EnabledOnOptLevel0
- PassManagerBuilder::EP_FullLinkTimeOptimizationLast
2023-03-28 12:15:20 -03:00
5221938945 various fixes 2023-03-09 17:36:13 +01:00
2f128e0dbd Revert "Merge pull request #1665 from devnexen/llvm_inst_mem_leaks"
This reverts commit e5f8c7a612, reversing
changes made to e6a05382b8.
2023-03-06 10:13:35 +01:00
e5f8c7a612 Merge pull request #1665 from devnexen/llvm_inst_mem_leaks
llvm instrumentation trying to delete all static data
2023-03-06 10:09:17 +01:00
e6a05382b8 fix IGNORE_PROBLEMS and update qemuafl 2023-03-06 09:59:52 +01:00
bc61c90fb6 llvm instrumentation trying to delete all static data
at module end of pass with llvm_shutdown and is concurrent safe.
2023-03-04 14:46:38 +00:00
c33f8751e3 Merge pull request #1651 from AFLplusplus/dev
Dev
2023-02-21 01:11:00 +01:00
b786558dea Revert "LLVM cmplog factoring custom Instruction iterator with added restriction"
This reverts commit 8bc3fa1df2.
2023-02-20 15:43:54 +01:00
8bc3fa1df2 LLVM cmplog factoring custom Instruction iterator with added restriction 2023-02-13 23:00:15 +00:00
80eabd6e8a AFL_LLVM_DICT2FILE_NO_MAIN support 2023-02-13 11:34:14 +01:00
dbfa23b40a fixes 2023-02-06 16:38:52 +01:00
53c19a807c code indent 2023-02-04 14:09:50 +01:00
25b4b32627 small fix to compiler rt 2023-02-02 12:13:48 +01:00
4946e9cc3a small fix to compiler rt 2023-02-02 12:08:45 +01:00
c5a84a124c fixes 2023-01-25 13:33:17 +01:00
16f71bfa24 Merge pull request #1621 from devnexen/llvm_16_upd
LLVM plugin 16+ support proposal.
2023-01-25 10:26:16 +01:00
0251b9bfd8 llvm15 pcguard_init earlier constructor 2023-01-24 14:56:14 +01:00
5837322310 erase the switch instruction from the current parent 2023-01-23 22:56:04 +00:00
afd2ea90df LLVM plugin 16+ support proposal.
- Lifting the standard to C++17.
- Beyond the cosmetic changes, it boils down to BasicBlock::getInstList being
  no longer available (and reading the header it is no accident).
2023-01-20 22:12:35 +00:00
35f09e11a4 welcome 2023 2023-01-03 09:38:07 +01:00
2323952d62 update for llvm16 compile instructions 2022-11-10 15:06:02 +01:00
dfc6d0fbf7 nits 2022-11-10 14:49:14 +01:00
c24939e812 Merge pull request #1576 from AFLplusplus/persistent_mode_always
Persistent mode always
2022-11-10 14:46:01 +01:00
d65cf10bad Always enable persistent mode, no env/bincheck needed 2022-11-09 03:28:06 +01:00
05e0825d66 changelog update 2022-10-24 20:06:57 +02:00
f84ea69660 Fix child reaping on fuzzer termination
This commit contains the following changes:
    - Call `waitpid()` on the child and the fork server when terminating the
      fuzzer; thus, we do not end up with zombies.
    - Rename `fsrv.kill_signal` to `fsrv.child_kill_signal`, since the
      documentation states that the signal is used to terminate the *child*.
    - Use SIGTERM instead of fsrv.(child)_kill_signal, thus the fork server
      can always reap the child.
2022-10-20 18:08:07 +02:00
e6e82948bf fastexit + code format 2022-10-11 08:53:49 +02:00
2107ece114 auto shmem fuzzing (#1541)
* auto shmem fuzzing

* print warning when forcing shmem fuzzing

* typos

* Shmem always

* typo fix

* fixes

Co-authored-by: Dominik Maier <dmnk@google.com>
2022-10-07 15:40:04 +02:00
586aec7116 Fixed typo in README.llvm.md (#1538)
Co-authored-by: van Hauser <vh@thc.org>
2022-09-29 12:42:04 +02:00
3c21e9f0d1 another attempt at stand-alone map fix 2022-09-27 15:51:16 +02:00
1ce0dcac3f fix standalone running with shared libs 2022-09-26 11:55:03 +02:00