447 Commits

Author SHA1 Message Date
Keno Hassler
531380d6ab
llvm-lto: allow skipping initialization 2023-04-24 17:55:58 +02:00
vanhauser-thc
120d009e7d wasm support 2023-04-15 11:36:58 +02:00
vanhauser-thc
6cc8d607fb remove -z option, use -p mmopt instead 2023-04-13 11:44:39 +02:00
vanhauser-thc
824385f52c make llvm 17 work 2023-04-12 14:03:29 +02:00
vanhauser-thc
d304f4e4f1 update lto doc 2023-04-12 11:24:56 +02:00
vanhauser-thc
743ae50775 nits 2023-04-12 10:53:23 +02:00
David CARLIER
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
nj00001
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
vanhauser-thc
be96253f52 nits 2023-03-31 11:02:27 +02:00
Tulio Magno Quites Machado Filho
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
vanhauser-thc
5221938945 various fixes 2023-03-09 17:36:13 +01:00
vanhauser-thc
2f128e0dbd Revert "Merge pull request #1665 from devnexen/llvm_inst_mem_leaks"
This reverts commit e5f8c7a6129e42d1798fac1131c912b2eca8159c, reversing
changes made to e6a05382b83817b245da51bcba16be5df56eb283.
2023-03-06 10:13:35 +01:00
van Hauser
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
vanhauser-thc
e6a05382b8 fix IGNORE_PROBLEMS and update qemuafl 2023-03-06 09:59:52 +01:00
David CARLIER
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
van Hauser
c33f8751e3
Merge pull request #1651 from AFLplusplus/dev
Dev
2023-02-21 01:11:00 +01:00
vanhauser-thc
b786558dea Revert "LLVM cmplog factoring custom Instruction iterator with added restriction"
This reverts commit 8bc3fa1df286aac46a0a724f64e2e07010d2497e.
2023-02-20 15:43:54 +01:00
David CARLIER
8bc3fa1df2 LLVM cmplog factoring custom Instruction iterator with added restriction 2023-02-13 23:00:15 +00:00
vanhauser-thc
80eabd6e8a AFL_LLVM_DICT2FILE_NO_MAIN support 2023-02-13 11:34:14 +01:00
vanhauser-thc
dbfa23b40a fixes 2023-02-06 16:38:52 +01:00
vanhauser-thc
53c19a807c code indent 2023-02-04 14:09:50 +01:00
vanhauser-thc
25b4b32627 small fix to compiler rt 2023-02-02 12:13:48 +01:00
vanhauser-thc
4946e9cc3a small fix to compiler rt 2023-02-02 12:08:45 +01:00
vanhauser-thc
c5a84a124c fixes 2023-01-25 13:33:17 +01:00
van Hauser
16f71bfa24
Merge pull request #1621 from devnexen/llvm_16_upd
LLVM plugin 16+ support proposal.
2023-01-25 10:26:16 +01:00
vanhauser-thc
0251b9bfd8 llvm15 pcguard_init earlier constructor 2023-01-24 14:56:14 +01:00
David Carlier
5837322310 erase the switch instruction from the current parent 2023-01-23 22:56:04 +00:00
David Carlier
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
vanhauser-thc
35f09e11a4 welcome 2023 2023-01-03 09:38:07 +01:00
vanhauser-thc
2323952d62 update for llvm16 compile instructions 2022-11-10 15:06:02 +01:00
vanhauser-thc
dfc6d0fbf7 nits 2022-11-10 14:49:14 +01:00
van Hauser
c24939e812
Merge pull request #1576 from AFLplusplus/persistent_mode_always
Persistent mode always
2022-11-10 14:46:01 +01:00
Dominik Maier
d65cf10bad Always enable persistent mode, no env/bincheck needed 2022-11-09 03:28:06 +01:00
vanhauser-thc
05e0825d66 changelog update 2022-10-24 20:06:57 +02:00
Nils Bars
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
vanhauser-thc
e6e82948bf fastexit + code format 2022-10-11 08:53:49 +02:00
van Hauser
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
cl3nn0
586aec7116
Fixed typo in README.llvm.md (#1538)
Co-authored-by: van Hauser <vh@thc.org>
2022-09-29 12:42:04 +02:00
vanhauser-thc
3c21e9f0d1 another attempt at stand-alone map fix 2022-09-27 15:51:16 +02:00
vanhauser-thc
1ce0dcac3f fix standalone running with shared libs 2022-09-26 11:55:03 +02:00
hexcoder-
ed54532f29 make gcc_plugin compilable for gcc 3.6.0 2022-09-23 23:19:10 +02:00
van Hauser
061bd75953
Merge pull request #1518 from nikic/fix-lto
Fix LTO with LLVM 15
2022-09-15 09:58:03 +02:00
Nikita Popov
b27a4a3689 Fix loading and registeration of LTO pass for new pass manager 2022-09-14 15:54:29 +02:00
13579and2468
a194a82bcd
Fixed typo in README.lto.md (#1517)
typo fixed
2022-09-14 15:05:30 +02:00
Nikita Popov
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
Nikita Popov
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
vanhauser-thc
2775271b17 pcguard off-by-one fix 2022-08-26 18:27:38 +02:00
vanhauser-thc
ba14c353c0 get map size from binaries within afl-cmin* 2022-08-15 18:31:45 +02:00
vanhauser-thc
6056d4b140 fix pcguard vector select instrumentation 2022-08-03 10:06:52 +02:00
vanhauser-thc
7b7914e1d6 code format 2022-07-25 09:09:29 +02:00