132 Commits

Author SHA1 Message Date
Andrea Fioraldi
002656b076
Fix #1721 (#1722) 2023-12-11 15:26:53 +01:00
David CARLIER
108c04a8d2
libafl_cc custom llvm_config lookup for solaris/illumos (#1708) 2023-12-03 10:23:33 +01:00
s1341
ba394c4acc
Fix LLMP map reuse overflow for slow brokers (#1679)
* Attempt to fix llmp refcounting

* readers->readers_count

* Removed refcounting for now, fixed

* fixes

* fixes

* add extra debug assert, remove duplicate line

* semicolons are pain :)

* Add comment

* oooooops, bugfix

* fmt

* Fix calcualtion in in_shmem

---------

Co-authored-by: Dominik Maier <dmnk@google.com>
Co-authored-by: Dominik Maier <domenukk@gmail.com>
2023-11-21 16:48:17 +01:00
s1341
b1888e12c9
Support precompiled headers in clang/ar wrappers (#1668) 2023-11-15 15:10:03 +01:00
s1341
7acdeacae8
Allow compiling 32bit (#1666)
* Allow compiling for 32bit

* Fmt

* Clean up minibsod for 32bit

* fmt
2023-11-15 12:43:04 +01:00
Dongjia "toka" Zhang
c9e147de8c
Fix LLVM Pass (#1654) 2023-11-06 13:35:10 +01:00
Dongjia "toka" Zhang
0b38fabeb0
CmpLog {Instruction, Switches} pass (#1612)
* switch and instruction pass copy paste

* FMT

* add cb

* put things in the functions

* fi

* working

* oops

* options

* no 128bit int on windows

* no 128bit on windows

* oops

* unix only

* windows

* PACKED

* let's stop using it, it's ugly

* fmt

* adjust

---------

Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
2023-10-14 11:47:16 +02:00
Dongjia "toka" Zhang
cb9ace52e1
Rename more options (#1626) 2023-10-12 12:01:39 +02:00
Dongjia "toka" Zhang
67aa5b12c1
Rename option name (#1623)
* rename

* FMT
2023-10-11 17:38:56 +02:00
Dongjia "toka" Zhang
c94c26cb56
Document how to use cpp() and optimize() (#1615) 2023-10-07 16:36:33 +02:00
s1341
a27553daec
libafl_cc: fix configuration support (#1595)
* libafl_cc: fix configuration support

* fmt

* clippy
2023-10-02 17:48:33 +03:00
Dongjia "toka" Zhang
583c84ab4e
cmplog routines update & fix (#1592)
* update

* runtime

* Update cmplog-routines-pass.cc (#1589)

* rtm

* fix

* no link rt

* fmt

* let's change script in another pr

* colon

* adjust the checks

* fix

* more fixes

* FMT
2023-10-01 23:06:34 -05:00
Dongjia "toka" Zhang
ee9eb3eef1
Revert "Update cmplog-routines-pass.cc (#1589)" (#1591)
This reverts commit d2ff88f6ff6ec38c16200e9ee59c180412430120.
2023-10-01 14:46:21 +02:00
Dongjia "toka" Zhang
d2ff88f6ff
Update cmplog-routines-pass.cc (#1589) 2023-10-01 07:20:00 -05:00
Dongjia "toka" Zhang
f31c2cc4ce
remove unused deps (#1587) 2023-09-30 18:32:59 +02:00
s1341
7cb1080e35
libafl_ar: add extensions (#1568) 2023-09-28 09:09:29 +03:00
Dongjia "toka" Zhang
324db072a2
Fix CI (#1558)
* endif

* just fix every profile

* WHY YOU DONT JUST USE THE SAME NAME FOR DIR

* fix

* Some fuzzer want release

* WHY I ALWAYS FORGET COMMA

* NO MORE SPACE

* rename

* stb doesn't like debug build

* just use release

* another just use release
2023-09-27 09:59:55 +02:00
Dongjia "toka" Zhang
74435e1461
Fix LLVMPass (#1557) 2023-09-26 18:54:54 +02:00
Addison Crump
8f6efe993d
Address recent clippy changes; build clippy in debug instead of release for perf (#1516) 2023-09-19 00:42:46 +02:00
kiwids
c91fc9a521
Update LibAFL_CC README.md (#1483)
Updated with steps to compile LLVM from source tree
2023-08-29 18:09:28 +02:00
Andrea Fioraldi
638d315b57
Add readmes (#1476)
* Add readmes

* fix docker
2023-08-29 14:51:55 +02:00
Dominik Maier
b0179b4498
Update some deps, clippy (#1422)
* More less default

* More clippy

* updated rangemap

* Clean up depencdencies

* Undo accidental remove

* Fix

* trying to fix qemu build

* hexagon be gone
2023-08-17 17:15:03 +02:00
David CARLIER
83f739f010
libafl_cc using hwasan on Linux/Android arm64 (#1399) 2023-08-04 01:50:41 +02:00
David CARLIER
f4f55088e3
ControlFlowGraph::calculate_difference_all_edges build warning fix. (#1390)
get_edge returns a reference, anyhow CfgEdge does implement the Borrow's trait neither.
2023-08-02 09:58:49 +02:00
s1341
71aa0221a0
Add feature to build variants/configurations automatically, with libtool/cc/cxx shims (#1322)
* Add feature to build variants/configurations automatically, with libtool/cc/cxx shims

* Fixes

* Clippy

* Add brief comment describing usage

* Fix

* Fix fuzzers: add ToolWrapper

* Clippy

* More clippy

* More clippy

* Add Compound configuration

* Clippy

* Fix

* Clippy

* Damn that Clippy

* Change names of Configurations

* Add ar wrapper

* Fix

* Clippy

* Windows build

* Clippy

* Clippy

* Clippy
2023-06-22 16:17:33 +02:00
s1341
751d96f45a
libafl_cc: Add override env vars to configure LLVM (#1310)
Co-authored-by: Dominik Maier <domenukk@gmail.com>
2023-06-09 16:55:31 +02:00
Dongjia "toka" Zhang
8445ae54b3
Allow multiple source file in libafl_cc (#1296)
* add

* clp

* fi

* fmt
2023-05-26 11:35:04 +02:00
Dongjia "toka" Zhang
594ce420fc
Fix libafl_cc (#1295)
* push

* fix
2023-05-24 18:44:13 +02:00
David CARLIER
0d7d52decf
afl_cc fix build for LLVM 17 (#1286) 2023-05-22 12:42:56 +02:00
Dongjia "toka" Zhang
52557aefdd
Fix #1276 2023-05-17 15:39:21 +02:00
Dongjia "toka" Zhang
3fd5671909
add (#1276) 2023-05-17 15:22:49 +02:00
Dongjia "toka" Zhang
66127d8492
Revert "Don't pass LLVM pass & its args during linking (#1274)" (#1275)
This reverts commit efc5756e3fac9ed3b82e6d82b770b578b47b42d0.
2023-05-17 14:53:17 +02:00
Dongjia "toka" Zhang
efc5756e3f
Don't pass LLVM pass & its args during linking (#1274) 2023-05-17 14:32:56 +02:00
Dongjia "toka" Zhang
b7c1591b00
Linking arguments for LLVM passes (#1273) 2023-05-17 13:53:02 +02:00
Dongjia "toka" Zhang
b9a540561b
Don't add llvm pass args when there're no passes & Don't pass -mllvm arguments when compiling asm files (#1266)
* f

* fix

* clp
2023-05-12 11:48:12 +02:00
Tomas Duchac
53659f8a5c
Add file extension for clang in libafl_cc/build.rs (#1237)
* Add CLANG and CLANG_PP env vars

Add CLANG and CLANG_PP env variables for Windows. Resolves issue if clang and llvm-config are not in the same location.

* Just add clang".exe" for windows

User should have llvm-config and clang.exe clang++.exe in the same directory anyways.

* Ran cargo fmt
2023-05-04 11:52:51 +02:00
Dongjia "toka" Zhang
abd8efabd3
Add additional security sensitive functions for coverage accounting (#1246) 2023-05-03 15:45:07 +02:00
Dongjia "toka" Zhang
eab7c32e9f
Dump whole program's CFG pass (#1226)
* skelton

* pass

* compiles

* python

* optional pass

* rev

* chg
2023-04-24 14:57:24 +02:00
Andrea Fioraldi
0f633962ff
Bump to 0.10.0 (#1156)
* Bump to 0.10.0

* fix

* Fix CI

* Fix copyright

* fmt

---------

Co-authored-by: Dominik Maier <domenukk@gmail.com>
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2023-04-05 17:49:53 +02:00
Dongjia "toka" Zhang
ccd1211cd2
Remove qemu_arm_launcher test from CI (#1179)
* remove qemu arm

* trigger all

* debug

* revert

* api chg

* fix

* try

* debug

* remove qemu

* no_std

* Update build_and_test.yml

* llvm16

* revert z3

* macos

* fix

* remove test

* don't grep on mac

* fix

* ok

* f

* f

* f

* aaa
2023-04-04 14:49:58 +02:00
David CARLIER
fd95560512
Check for the presence of clang frontends. (#1158)
* checks the presence of clang frontends.

close GH-1149.

* fix clippy complaints
2023-03-17 16:00:54 +01:00
Dongjia "toka" Zhang
0fa815f2b8
Rename MetaData to Metadata 2023-03-14 23:57:55 +09:00
Dominik Maier
2ed6583041
CI: Run miri tests (#1130)
* Fixes/ignores for miri support

* linux

* fix doctest for miri

* fix docs

* fix UB in baby_fuzzer

* no custom allocator in miri
2023-03-08 19:21:17 +01:00
Marco Cavenati
b96e194812
Improve find_llvm on MacOS (#1124)
By looking for explicitly versioned Homebrew formulae for LLVM
2023-03-07 03:23:46 +01:00
Dongjia "toka" Zhang
5b4ae61cdd
SimpleLogger API improvements, printing to stdout, timestamps (#1109)
* log

* fix

* a

* rev

* remove

* 2 logger

* cfg std

* more

* more

* cf

* no_std

* features

* optional

* rename

* current_time()
2023-03-02 14:07:46 +01:00
Dominik Maier
31357aa7e2
Track parent testcase id, tuneable stage probabilistic settings (#1081)
* Added local event handlers

* clippy

* move tuned mutator to pow2

* Tunable updates

* parent ids

* no_std, etc

* windows

* remove local event manager handler

* maybe fix win

* win:

* win docs

* docs

* ASAN -> ASan
2023-02-28 16:36:04 +01:00
Dongjia "toka" Zhang
20958a979f
Weak link token section (#1080)
* fix

* a
2023-02-17 10:38:46 +01:00
Elsa Granger
44b69666da
Fix fuzzbench build (#1004)
* Fix -z,defs handle

* Add libfuzzer_no_link_main option in libfuzzer

* Use libfuzzer_no_link_main for fuzzbench

* no_link_main feature

---------

Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
2023-02-15 11:58:32 +01:00
Fabian Freyer
53dba5f49d
Use the log facade instead of println (#1060)
* switched a couple of println / dbg statements to use log crate
* Use pyo3-log for logging in python bindings
2023-02-14 10:01:51 +01:00
David CARLIER
3b68399cc9
libafl_cc fixes for clang 16 (#1010)
None constant being deprecated, it is recommended
to use the std::nullopt_t type instead.
2023-01-23 11:00:42 +01:00