Commit Graph

444 Commits

Author SHA1 Message Date
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
ed54532f29 make gcc_plugin compilable for gcc 3.6.0 2022-09-23 23:19:10 +02:00
061bd75953 Merge pull request #1518 from nikic/fix-lto
Fix LTO with LLVM 15
2022-09-15 09:58:03 +02:00
b27a4a3689 Fix loading and registeration of LTO pass for new pass manager 2022-09-14 15:54:29 +02:00
a194a82bcd Fixed typo in README.lto.md (#1517)
typo fixed
2022-09-14 15:05:30 +02:00
5452d4652b Fix naming clash between AFL's sancov LTO pass and upstream sancov pass
There was some confusion here due to name reuse. The
initializeModuleSanitizerCoverageLegacyPassPass() function was
actually calling the initialization of the upstream pass (which
no longer supports legacy PM and thus fails to build on LLVM 15).
The intention was to call the LTO initialization here.

Fix this by renaming symbols to avoid collision.
2022-09-14 11:36:05 +02:00
36c46b9579 Fix LLVM 15 build
By removing ModuleSanitizerCoverageLegacyPass, which is completely
unused.

There was some confusing between the initialization function for
the upstream sancov pass and AFLs own implementation.
2022-09-14 10:58:22 +02:00
2775271b17 pcguard off-by-one fix 2022-08-26 18:27:38 +02:00
ba14c353c0 get map size from binaries within afl-cmin* 2022-08-15 18:31:45 +02:00
6056d4b140 fix pcguard vector select instrumentation 2022-08-03 10:06:52 +02:00
7b7914e1d6 code format 2022-07-25 09:09:29 +02:00
42c677aa7b fix compilation for llvm 10.0 2022-07-19 23:03:20 +02:00
b847e0f414 clang format 14 2022-07-12 09:04:54 +02:00
05080f32ee fixes 2022-07-07 11:10:12 +02:00