Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update from stable #2

Open
wants to merge 454 commits into
base: dev-afl-only
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
454 commits
Select commit Hold shift + click to select a range
748d417
afl-whatsup output fix
vanhauser-thc Sep 13, 2023
dee7699
Merge pull request #1863 from AFLplusplus/dev
vanhauser-thc Sep 13, 2023
0b6e74e
Add support for UTF-8 line rendering
ThomasTNO Sep 13, 2023
54f0148
UTF-8 line rendering for status screen as default
ThomasTNO Sep 19, 2023
6dc054b
Add usage compilation status print for NO_UTF
ThomasTNO Sep 19, 2023
abbdf1c
Use proper ifdef, remove else in line with other compile options
ThomasTNO Sep 19, 2023
5eb4c6e
Use shorter fuzzer name in stat header when user's banner is too big
nataraj-hates-MS-for-stealing-github Sep 19, 2023
a6b7da8
Remove Android specifics
ThomasTNO Sep 20, 2023
762fe0a
forgot removal of compiler flag
ThomasTNO Sep 20, 2023
14bca44
Merge pull request #1864 from ThomasTNO/utf8_support
vanhauser-thc Sep 20, 2023
c762b6a
fix afl-persistent-config for Debian
vanhauser-thc Sep 22, 2023
bd90283
update todo
vanhauser-thc Sep 22, 2023
5f7c3a1
fix afl-cc help output
vanhauser-thc Sep 27, 2023
1c582b6
Merge pull request #1874 from AFLplusplus/dev
vanhauser-thc Sep 27, 2023
fd76d6a
fix exploit mode on startup
vanhauser-thc Sep 28, 2023
d6b6278
Fixed script for pwndbg (#1876)
h0rac Sep 29, 2023
6b73dee
add afl-addseeds tool
vanhauser-thc Sep 30, 2023
efae28f
typo
tokatoka Oct 1, 2023
05bea40
update nyx-qemu
vanhauser-thc Oct 2, 2023
f3ec554
Merge pull request #1868 from nataraj-hates-MS-for-stealing-github/st…
vanhauser-thc Oct 2, 2023
49a1d81
benchmark: cleanup, add results, add a data exploration notebook
cjb Oct 2, 2023
b9db6b1
benchmark: add a README, lower default runs from 5 to 3
cjb Oct 2, 2023
3bfd194
benchmark: notebook wording tweaks
cjb Oct 2, 2023
9a9dbaf
remove old credits
vanhauser-thc Oct 2, 2023
bec74ae
Merge branch 'dev' of ssh://github.com/AFLplusplus/AFLplusplus into dev
vanhauser-thc Oct 2, 2023
d946265
urandom
tokatoka Oct 2, 2023
1f7f1ef
fix addseeds test
vanhauser-thc Oct 2, 2023
63100d2
Merge pull request #1879 from AFLplusplus/urandom
vanhauser-thc Oct 3, 2023
d09950f
Merge pull request #1880 from AFLplusplus/dev
vanhauser-thc Oct 3, 2023
d97c7e4
nits
vanhauser-thc Oct 3, 2023
8eaa590
Use sync_id instead of use_banner while building statsd metric messages
m4drat Oct 3, 2023
17bfb3a
Merge pull request #1882 from m4drat/statsd-banner-fix
vanhauser-thc Oct 3, 2023
c622e4c
Make fuzzer_stats update atomic
eqv Oct 4, 2023
a380615
Merge pull request #1883 from eqv/atomic_stats
vanhauser-thc Oct 4, 2023
48bff70
add AFL_NO_CFG_FUZZING to env list
vanhauser-thc Oct 6, 2023
af18f2c
update todos
vanhauser-thc Oct 8, 2023
9db9cc8
EarlyEPCallback for llvm16
tokatoka Oct 14, 2023
943fa7e
bracket
tokatoka Oct 14, 2023
c885a89
Merge pull request #1889 from AFLplusplus/early_llvm
vanhauser-thc Oct 14, 2023
92ac2c2
typo
tokatoka Oct 16, 2023
51f6229
Merge pull request #1890 from AFLplusplus/typos
vanhauser-thc Oct 16, 2023
bfb841d
Use proper AFL_NYX_AUX_SIZE for nyx_aux_string
choller Oct 19, 2023
b50b2e8
Merge pull request #1894 from choller/dev
vanhauser-thc Oct 21, 2023
389c88c
update unicorn
vanhauser-thc Oct 21, 2023
eaa6a17
Merge branch 'dev' of ssh://github.com/AFLplusplus/AFLplusplus into dev
vanhauser-thc Oct 21, 2023
85c5b52
Merge pull request #1896 from AFLplusplus/dev
vanhauser-thc Oct 23, 2023
4cdf7a1
add scale encode mode for cmplog
vanhauser-thc Oct 23, 2023
cf458a7
Add an env to afl-clang-fast to disable setting rpath if LLVM path isn't
jschwartzentruber Oct 19, 2023
d520138
Merge pull request #1893 from jschwartzentruber/add-no-rpath-flag
vanhauser-thc Oct 24, 2023
728401e
dict2file to silently return if AFL_LLVM_DICT2FILE not defined
vanhauser-thc Oct 24, 2023
b8e5506
Merge branch 'dev' of ssh://github.com/AFLplusplus/AFLplusplus into dev
vanhauser-thc Oct 24, 2023
f7fab79
code format
vanhauser-thc Oct 24, 2023
b22eef4
fix
vanhauser-thc Oct 24, 2023
7210a1c
fix scale
vanhauser-thc Oct 25, 2023
7eafe22
add to gitignore
vanhauser-thc Oct 25, 2023
e241280
Merge pull request #1899 from AFLplusplus/scale
vanhauser-thc Oct 25, 2023
2230f88
add --help/--version/...
vanhauser-thc Nov 3, 2023
7e67dc9
Merge branch 'dev' of ssh://github.com/AFLplusplus/AFLplusplus into dev
vanhauser-thc Nov 3, 2023
8338844
copy 'detect_leaks=0' from ASAN to LSAN
hexcoder- Nov 4, 2023
6ed3f4c
fix of fix: make sure ASAN_OPTIONS and LSAN_OPTIONS agree on leak det…
hexcoder- Nov 4, 2023
053334f
fix lsan fix
vanhauser-thc Nov 6, 2023
f3d2127
clang-format 16->17
vanhauser-thc Nov 6, 2023
8ad36af
Add missing initialisation for havoc_queued during the custom mutator…
m-carrasco Nov 6, 2023
ac0ad56
fix dictionary and cmin
vanhauser-thc Nov 7, 2023
f7d1939
Merge pull request #1902 from m-carrasco/dev-cm-init-fix
vanhauser-thc Nov 7, 2023
cfbf120
Use direct call to write to OpenBSD
jasperla Nov 9, 2023
6f8696c
Fix possible doc inconsistency for custom mutator's queue_get function.
m-carrasco Nov 9, 2023
a6efdfd
Merge pull request #1905 from m-carrasco/fix-queue-get-docs
vanhauser-thc Nov 9, 2023
61e27c6
Merge pull request #1906 from AFLplusplus/dev
vanhauser-thc Nov 9, 2023
3fd2e16
update todos
vanhauser-thc Nov 9, 2023
16993bb
benchmark: Add support for COMPARISON file
cjb Nov 11, 2023
8c1f25b
Merge pull request #1904 from jasperla/nosyscall
vanhauser-thc Nov 11, 2023
8b79d9b
benchmark: show the number of cores used in COMPARISON
cjb Nov 12, 2023
df9f2c4
benchmark: lower minimum Python version to 3.8
cjb Nov 12, 2023
2604583
benchmark: use afl's execs/s; increase CPU model width
cjb Nov 12, 2023
afb9b8a
benchmark: disallow duplicate entries for the same CPU in COMPARISON
cjb Nov 14, 2023
a289a3e
Update benchmark.py
vanhauser-thc Nov 15, 2023
a071430
fix inf in stats
vanhauser-thc Nov 16, 2023
885f949
Fix benchmark.py
vanhauser-thc Nov 16, 2023
b05e3f7
missing closing parenthesis
ifyGecko Nov 17, 2023
1179bfe
Merge pull request #1909 from ifyGecko/quick_fix
vanhauser-thc Nov 17, 2023
43b8812
Update benchmark.py
vanhauser-thc Nov 17, 2023
4d8df78
benchmark: remove self-calculation of execs/sec
cjb Nov 19, 2023
75a3af8
benchmark: update COMPARISON
cjb Nov 19, 2023
d34bed5
benchmark: Update Jupyter notebook and results file.
cjb Nov 19, 2023
d9ffe74
benchmark: rename afl_execs_per_sec to execs_per_sec
cjb Nov 19, 2023
f2cbcdf
benchmark: update README
cjb Nov 19, 2023
444ddb2
Merge pull request #1853 from cjb/dev-benchmark-py
vanhauser-thc Nov 19, 2023
91a1459
update
vanhauser-thc Nov 20, 2023
07352a9
add benchmark
vanhauser-thc Nov 20, 2023
5681267
nits
vanhauser-thc Nov 20, 2023
aabbdac
add benchmarks
vanhauser-thc Nov 20, 2023
d6cefdc
Update unicornafl ref
domenukk Nov 20, 2023
a2a4171
Pass correct Nyx ID when creating a Nyx runner
choller Nov 22, 2023
d17e0b3
Fix typo in docker pull command, add exampe to mount current dir as v…
CarloMara Nov 22, 2023
c96aa40
mini fix
vanhauser-thc Nov 23, 2023
770e868
add custom_post_run.c
yangzao Nov 24, 2023
8af74bc
update afl-fuzz-run
yangzao Nov 25, 2023
faedb3f
update python module
yangzao Nov 26, 2023
0547c49
Merge pull request #1913 from choller/nyx-id-fix-2
vanhauser-thc Nov 27, 2023
c9e0f01
format code
yangzao Nov 27, 2023
bb523b4
update
yangzao Nov 27, 2023
81b43ce
merge function
yangzao Nov 27, 2023
e4f3ebc
Merge pull request #1915 from yangzao/dev
vanhauser-thc Nov 28, 2023
d2aef74
changes
vanhauser-thc Nov 22, 2023
dd9a04c
code format
vanhauser-thc Nov 28, 2023
74f8ca6
improve cmplog
vanhauser-thc Nov 28, 2023
39be50e
nit
vanhauser-thc Nov 28, 2023
1fa2850
nit
vanhauser-thc Nov 30, 2023
d02036a
fix
vanhauser-thc Dec 1, 2023
858e0bf
fix
vanhauser-thc Dec 1, 2023
3fc9e68
Stop hardcoding the path /usr/local/lib/afl in afl-ld-lto.c and respe…
Romain-Geissler-1A Dec 1, 2023
21f874c
Merge pull request #1917 from Romain-Geissler-1A/dev
vanhauser-thc Dec 1, 2023
4e0a794
Add benchmark for Raspberry Pi 5
jakoblell Dec 2, 2023
5d544ce
Merge pull request #1918 from jakoblell/benchmark_raspberry_pi5
vanhauser-thc Dec 2, 2023
b0cb2f7
ryzen 5950 benchmark
vanhauser-thc Dec 3, 2023
477a517
add missing raspery5
vanhauser-thc Dec 3, 2023
01e0d4a
comparison -> comparison.md
vanhauser-thc Dec 3, 2023
0e7afb7
removing options "-Wl,-rpath" "LLVM_LIBDIR" when using gcc
m-Vins Dec 4, 2023
5759b93
Merge pull request #1920 from m-Vins/dev
vanhauser-thc Dec 4, 2023
6c04d4c
fixing -Wl,-rpath=<LLVM_LIBDIR>
m-Vins Dec 4, 2023
638273e
nits
vanhauser-thc Dec 5, 2023
1250586
Merge pull request #1923 from AFLplusplus/dev
vanhauser-thc Dec 5, 2023
5482204
Merge pull request #1922 from m-Vins/dev
vanhauser-thc Dec 5, 2023
981a90d
Merge pull request #1924 from AFLplusplus/dev
vanhauser-thc Dec 5, 2023
5b655e0
fix
vanhauser-thc Dec 5, 2023
ef706ad
Merge pull request #1925 from AFLplusplus/dev
vanhauser-thc Dec 5, 2023
bb1d4a2
afl-cc fixes
vanhauser-thc Dec 7, 2023
520daf5
nit
vanhauser-thc Dec 10, 2023
a062e84
add n_fuzz to ignore_timeouts
vanhauser-thc Dec 10, 2023
b2d118f
fix
vanhauser-thc Dec 10, 2023
ab532e7
Fix #1927
andreafioraldi Dec 11, 2023
a576f7a
in-depth blog post
vanhauser-thc Dec 12, 2023
f290bdd
add AFL_FUZZER_LOOPCOUNT
vanhauser-thc Dec 14, 2023
ae9cdb3
AFL_FUZZER_LOOPCOUNT
vanhauser-thc Dec 14, 2023
3750592
fix 2 mutation bugs
vanhauser-thc Dec 15, 2023
8a7705a
v4.09c release
vanhauser-thc Dec 15, 2023
108fb0b
Merge pull request #1933 from AFLplusplus/dev
vanhauser-thc Dec 15, 2023
ca0c9f6
v4.10a init
vanhauser-thc Dec 15, 2023
353ae36
switch to explore powerschedule as default
vanhauser-thc Dec 15, 2023
7fabe50
fix MUT_INSERTASCIINUM
vanhauser-thc Dec 19, 2023
f822cde
fix MUT_STRATEGY_ARRAY_SIZE
vanhauser-thc Dec 19, 2023
806a76a
fix bad fix for MUT_STRATEGY_ARRAY_SIZE
vanhauser-thc Dec 19, 2023
2f74fea
remove afl-network-client on uninstall
vanhauser-thc Dec 19, 2023
c38dedb
update nyx
vanhauser-thc Dec 21, 2023
86d76b5
Improve binary-only related docs
bet4it Dec 21, 2023
27d05f3
Merge pull request #1939 from bet4it/docs
vanhauser-thc Dec 22, 2023
df0638a
llvm 18 build fixes.
devnexen Dec 22, 2023
3c0cfd8
Merge pull request #1940 from devnexen/llvm_18_build_fix
vanhauser-thc Dec 23, 2023
daaefcd
code format
vanhauser-thc Dec 24, 2023
dcb5bc3
Merge pull request #1941 from AFLplusplus/dev
vanhauser-thc Dec 24, 2023
a9e6998
Fix custom_send link
Xeonacid Dec 25, 2023
c3197df
Use ../ instead
Xeonacid Dec 25, 2023
b01ef97
Merge pull request #1942 from Xeonacid/patch-1
vanhauser-thc Dec 25, 2023
1fc1b32
initial simple injection detection support
vanhauser-thc Dec 27, 2023
98a2a33
inject docs
vanhauser-thc Dec 27, 2023
934a02f
fix for issue #1916, iLLVM crash in split-floatingpoint-compares
hexcoder- Dec 28, 2023
25f9c1f
Merge branch 'dev' of https://github.com/AFLplusplus/AFLplusplus into…
hexcoder- Dec 28, 2023
88cbaeb
LLVM 17 bug workaround
vanhauser-thc Dec 29, 2023
c39596c
Merge pull request #1943 from AFLplusplus/dev
vanhauser-thc Dec 29, 2023
1eb54c4
finish injection implementation
vanhauser-thc Dec 30, 2023
2260a06
Merge pull request #1944 from AFLplusplus/inject
vanhauser-thc Dec 30, 2023
1a60e35
Merge pull request #1945 from AFLplusplus/stable
vanhauser-thc Dec 30, 2023
c5b4e26
remove tmp todo
vanhauser-thc Dec 30, 2023
5f492da
update changelog
vanhauser-thc Dec 30, 2023
9d305ac
Merge pull request #1946 from AFLplusplus/dev
vanhauser-thc Dec 30, 2023
0aeee03
forgot to add the injection pass
vanhauser-thc Jan 3, 2024
358cd1b
Merge pull request #1947 from AFLplusplus/dev
vanhauser-thc Jan 3, 2024
aad9ac2
Output afl-clang-fast stuffs only if necessary (#1912)
SonicStark Jan 4, 2024
ee7d69b
changelog
vanhauser-thc Jan 4, 2024
bb6d9cd
update grammar mutator
vanhauser-thc Jan 8, 2024
db65dc5
lto llvm 12+
vanhauser-thc Jan 9, 2024
f75778a
docs(custom_mutators): fix missing ':' (#1953)
Xeonacid Jan 11, 2024
4e9c605
Fix broken LTO mode and response file support (#1948)
SonicStark Jan 11, 2024
9d3c25a
Strip `-Wl,-no-undefined` during compilation (#1952)
nbars Jan 11, 2024
b99bbf6
Remove dead code in write_to_testcase (#1955)
Xeonacid Jan 11, 2024
a401740
update qemuafl
vanhauser-thc Jan 12, 2024
355dcf6
WIP: Add ability to generate drcov trace using QEMU backend (#1956)
JRomainG Jan 12, 2024
46ef6a5
code format
vanhauser-thc Jan 12, 2024
68d883d
changelog
vanhauser-thc Jan 12, 2024
e9621db
sleep on uid != 0 afl-system-config
vanhauser-thc Jan 16, 2024
8412b17
fix segv about skip_next, warn on unsupported cases of linking option…
SonicStark Jan 18, 2024
046473a
todos
vanhauser-thc Jan 18, 2024
136feba
ensure afl-cc only allows available compiler modes
vanhauser-thc Jan 18, 2024
04219f9
update grammar mutator
vanhauser-thc Jan 18, 2024
523ce15
disable aslr on apple
vanhauser-thc Jan 18, 2024
e731a1c
fix for arm64
vanhauser-thc Jan 18, 2024
0c054f5
push to stable (#1960)
vanhauser-thc Jan 18, 2024
cefc9a0
help selective instrumentation
vanhauser-thc Jan 18, 2024
660b697
typos
vanhauser-thc Jan 19, 2024
a518c4d
macos
vanhauser-thc Jan 19, 2024
de561b7
add compiler test script
vanhauser-thc Jan 19, 2024
ab0823c
apple fixes
vanhauser-thc Jan 19, 2024
3046c80
bump nyx submodules (#1963)
schumilo Jan 20, 2024
9cefc4d
fix docs
vanhauser-thc Jan 22, 2024
33a129e
update changelog
vanhauser-thc Jan 22, 2024
243c664
update grammar mutator
vanhauser-thc Jan 23, 2024
227c1a7
improve compiler test script
vanhauser-thc Jan 23, 2024
d581278
gcc asan workaround (#1966)
vanhauser-thc Jan 24, 2024
a5db79e
Merge branch 'stable' into dev
vanhauser-thc Jan 24, 2024
8746b3e
fix github merge fuckup
vanhauser-thc Jan 24, 2024
ba28c49
fix
vanhauser-thc Jan 24, 2024
d88c97a
Fix afl-cc (#1968)
SonicStark Jan 25, 2024
2f9eeef
Avoid adding llvmnative instrumentation when linking rust sanitizer r…
choller Jan 26, 2024
58b80b6
Dynamic instrumentation filtering for LLVM native (#1971)
choller Jan 26, 2024
1ffb1b6
changelog
vanhauser-thc Jan 26, 2024
4859b58
todos
vanhauser-thc Jan 28, 2024
12ab9eb
new forkserver check
vanhauser-thc Jan 30, 2024
d5b6c0f
fix
vanhauser-thc Jan 30, 2024
9604fe9
nyx test for CI
vanhauser-thc Jan 30, 2024
75af391
improve nyx docs
vanhauser-thc Jan 30, 2024
644e069
Fixes to afl-cc and documentation (#1974)
choller Jan 30, 2024
0d164e4
nits
vanhauser-thc Jan 30, 2024
ccad11f
nyx build script updates
vanhauser-thc Jan 31, 2024
da5d3d6
test error output
vanhauser-thc Jan 31, 2024
3768933
debug ci
vanhauser-thc Jan 31, 2024
970e0b1
debug ci
vanhauser-thc Feb 1, 2024
643df2b
Improve afl-cc (#1975)
SonicStark Feb 1, 2024
c33de47
enable nyx
vanhauser-thc Feb 1, 2024
5da5d6e
debug ci
vanhauser-thc Feb 1, 2024
123ec5d
debug ci
vanhauser-thc Feb 1, 2024
6e6d91b
debug ci
vanhauser-thc Feb 1, 2024
97ba817
debug ci
vanhauser-thc Feb 1, 2024
7793692
debug ci
vanhauser-thc Feb 1, 2024
76a0334
debug ci
vanhauser-thc Feb 1, 2024
e5d305a
debug ci
vanhauser-thc Feb 1, 2024
236fb9b
debug ci
vanhauser-thc Feb 1, 2024
eb52f1c
fix ci
vanhauser-thc Feb 1, 2024
5549212
clean test script
vanhauser-thc Feb 1, 2024
a84b7c7
NO_NYX
vanhauser-thc Feb 1, 2024
ac63901
NO_NYX
vanhauser-thc Feb 1, 2024
8759610
fix ci
vanhauser-thc Feb 1, 2024
96ada75
debug ci
vanhauser-thc Feb 1, 2024
d8e8d34
fix ci
vanhauser-thc Feb 1, 2024
37d2039
finalize ci fix
vanhauser-thc Feb 1, 2024
eda770f
push to stable (#1967)
vanhauser-thc Feb 1, 2024
06f0982
Enhancement on Deterministic stage (#1972)
kdsjZh Feb 1, 2024
5ba66a8
final touches for skipdet
vanhauser-thc Feb 1, 2024
ba28f5f
remove unused var
vanhauser-thc Feb 1, 2024
028d4c8
remove redundant eff struct (#1977)
kdsjZh Feb 1, 2024
f98dc8a
update QEMU-Nyx submodule (#1978)
schumilo Feb 2, 2024
5887177
update QEMU-Nyx submodule (#1980)
schumilo Feb 2, 2024
1e7485d
Fix type in AFL_NOOPT env variable in afl-cc help message (#1982)
kyakdan Feb 3, 2024
a929262
nits
vanhauser-thc Feb 3, 2024
ed1a6f8
2024 v4.10c release
vanhauser-thc Feb 3, 2024
a25f27d
fixes
vanhauser-thc Feb 3, 2024
68dc482
fixes
vanhauser-thc Feb 3, 2024
602ecee
push to stable (#1983)
vanhauser-thc Feb 3, 2024
775861e
Merge pull request #1985 from AFLplusplus/dev
vanhauser-thc Feb 3, 2024
621f784
Merge pull request #3 from AFLplusplus/stable
Feb 22, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .custom-format.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

# string_re = re.compile('(\\"(\\\\.|[^"\\\\])*\\")') # TODO: for future use

CURRENT_LLVM = os.getenv('LLVM_VERSION', 15)
CURRENT_LLVM = os.getenv('LLVM_VERSION', 17)
CLANG_FORMAT_BIN = os.getenv("CLANG_FORMAT_BIN", "")


Expand Down
10 changes: 4 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,20 +20,18 @@ jobs:
AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES: 1
steps:
- uses: actions/checkout@v3
- name: update
run: sudo apt-get update && sudo apt-get upgrade -y
- name: debug
run: apt-cache search plugin-dev | grep gcc-; echo; apt-cache search clang-format- | grep clang-format-
- name: update
run: sudo apt-get update
# && sudo apt-get upgrade -y
- name: install packages
#run: sudo apt-get install -y -m -f --install-suggests build-essential git libtool libtool-bin automake bison libglib2.0-0 clang llvm-dev libc++-dev findutils libcmocka-dev python3-dev python3-setuptools ninja-build python3-pip
run: sudo apt-get install -y -m -f build-essential git libtool libtool-bin automake flex bison libglib2.0-0 clang llvm-dev libc++-dev findutils libcmocka-dev python3-dev python3-setuptools ninja-build python3-pip
run: sudo apt-get install -y -m -f build-essential gcc-10 g++-10 git libtool libtool-bin automake flex bison libglib2.0-0 clang-12 llvm-12-dev libc++-dev findutils libcmocka-dev python3-dev python3-setuptools ninja-build python3-pip gcc-10-plugin-dev
- name: compiler installed
run: gcc -v; echo; clang -v
- name: install gcc plugin
run: sudo apt-get install -y -m -f --install-suggests $(readlink /usr/bin/gcc)-plugin-dev
- name: build afl++
run: make distrib ASAN_BUILD=1 NO_NYX=1
run: export NO_NYX=1; export ASAN_BUILD=1; export LLVM_CONFIG=llvm-config-12; make ASAN_BUILD=1 NO_NYX=1 LLVM_CONFIG=llvm-config-12 distrib
- name: run tests
run: sudo -E ./afl-system-config; make tests
# macos:
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
.test
.test2
.vscode
afl-addseeds.8
afl-analyze
afl-analyze.8
afl-as
Expand Down
6 changes: 3 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@
[submodule "nyx_mode/libnyx"]
path = nyx_mode/libnyx
url = https://github.com/nyx-fuzz/libnyx.git
[submodule "nyx_mode/QEMU-Nyx"]
path = nyx_mode/QEMU-Nyx
url = https://github.com/nyx-fuzz/qemu-nyx.git
[submodule "nyx_mode/packer"]
path = nyx_mode/packer
url = https://github.com/nyx-fuzz/packer.git
[submodule "nyx_mode/QEMU-Nyx"]
path = nyx_mode/QEMU-Nyx
url = https://github.com/nyx-fuzz/QEMU-Nyx
8 changes: 4 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ ENV NO_CORESIGHT=1
ENV NO_NYX=1

### Only change these if you know what you are doing:
# LLVM 15 does not look good so we stay at 14 to still have LTO
ENV LLVM_VERSION=14
# Current recommended LLVM version is 16
ENV LLVM_VERSION=16
# GCC 12 is producing compile errors for some targets so we stay at GCC 11
ENV GCC_VERSION=11

Expand All @@ -42,7 +42,7 @@ RUN apt-get update && \
python3 python3-dev python3-pip python-is-python3 \
libtool libtool-bin libglib2.0-dev \
apt-transport-https gnupg dialog \
gnuplot-nox libpixman-1-dev \
gnuplot-nox libpixman-1-dev bc \
gcc-${GCC_VERSION} g++-${GCC_VERSION} gcc-${GCC_VERSION}-plugin-dev gdb lcov \
clang-${LLVM_VERSION} clang-tools-${LLVM_VERSION} libc++1-${LLVM_VERSION} \
libc++-${LLVM_VERSION}-dev libc++abi1-${LLVM_VERSION} libc++abi-${LLVM_VERSION}-dev \
Expand Down Expand Up @@ -88,7 +88,7 @@ ARG TEST_BUILD

RUN sed -i.bak 's/^ -/ /g' GNUmakefile && \
make clean && make distrib && \
([ "${TEST_BUILD}" ] || (make install && make clean)) && \
([ "${TEST_BUILD}" ] || (make install)) && \
mv GNUmakefile.bak GNUmakefile

RUN echo "set encoding=utf-8" > /root/.vimrc && \
Expand Down
48 changes: 29 additions & 19 deletions GNUmakefile
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ VERSION = $(shell grep '^$(HASH)define VERSION ' ../config.h | cut -d '"' -f
# PROGS intentionally omit afl-as, which gets installed elsewhere.

PROGS = afl-fuzz afl-showmap afl-tmin afl-gotcpu afl-analyze
SH_PROGS = afl-plot afl-cmin afl-cmin.bash afl-whatsup afl-system-config afl-persistent-config afl-cc
SH_PROGS = afl-plot afl-cmin afl-cmin.bash afl-whatsup afl-addseeds afl-system-config afl-persistent-config afl-cc
MANPAGES=$(foreach p, $(PROGS) $(SH_PROGS), $(p).8) afl-as.8
ASAN_OPTIONS=detect_leaks=0

Expand All @@ -45,6 +45,10 @@ ifdef NO_SPLICING
override CFLAGS_OPT += -DNO_SPLICING
endif

ifdef NO_UTF
override CFLAGS_OPT += -DFANCY_BOXES_NO_UTF
endif

ifdef ASAN_BUILD
$(info Compiling ASAN version of binaries)
override CFLAGS += $(ASAN_CFLAGS)
Expand All @@ -62,6 +66,10 @@ ifdef MSAN_BUILD
override LDFLAGS += -fsanitize=memory
endif

ifdef CODE_COVERAGE
override CFLAGS += -D__AFL_CODE_COVERAGE=1
endif

ifeq "$(findstring android, $(shell $(CC) --version 2>/dev/null))" ""
ifeq "$(shell echo 'int main() {return 0; }' | $(CC) $(CFLAGS) -Werror -x c - -flto=full -o .test 2>/dev/null && echo 1 || echo 0 ; rm -f .test )" "1"
CFLAGS_FLTO ?= -flto=full
Expand Down Expand Up @@ -91,9 +99,9 @@ ifneq "$(SYS)" "Darwin"
#ifeq "$(HAVE_MARCHNATIVE)" "1"
# SPECIAL_PERFORMANCE += -march=native
#endif
ifndef DEBUG
CFLAGS_OPT += -D_FORTIFY_SOURCE=1
endif
#ifndef DEBUG
# CFLAGS_OPT += -D_FORTIFY_SOURCE=1
#endif
else
# On some odd MacOS system configurations, the Xcode sdk path is not set correctly
SDK_LD = -L$(shell xcrun --show-sdk-path)/usr/lib
Expand Down Expand Up @@ -255,17 +263,17 @@ endif

ifneq "$(findstring FreeBSD, $(SYS))" ""
override CFLAGS += -pthread
override LDFLAGS += -lpthread
override LDFLAGS += -lpthread -lm
endif

ifneq "$(findstring NetBSD, $(SYS))" ""
override CFLAGS += -pthread
override LDFLAGS += -lpthread
override LDFLAGS += -lpthread -lm
endif

ifneq "$(findstring OpenBSD, $(SYS))" ""
override CFLAGS += -pthread
override LDFLAGS += -lpthread
override LDFLAGS += -lpthread -lm
endif

COMM_HDR = include/alloc-inl.h include/config.h include/debug.h include/types.h
Expand Down Expand Up @@ -318,7 +326,7 @@ all: test_x86 test_shm test_python ready $(PROGS) afl-as llvm gcc_plugin test_bu
@echo Build Summary:
@test -e afl-fuzz && echo "[+] afl-fuzz and supporting tools successfully built" || echo "[-] afl-fuzz could not be built, please set CC to a working compiler"
@test -e afl-llvm-pass.so && echo "[+] LLVM basic mode successfully built" || echo "[-] LLVM mode could not be built, please install at least llvm-11 and clang-11 or newer, see docs/INSTALL.md"
@test -e SanitizerCoveragePCGUARD.so && echo "[+] LLVM mode successfully built" || echo "[-] LLVM mode could not be built, please install at least llvm-11 and clang-11 or newer, see docs/INSTALL.md"
@test -e SanitizerCoveragePCGUARD.so && echo "[+] LLVM mode successfully built" || echo "[-] LLVM mode could not be built, please install at least llvm-13 and clang-13 or newer, see docs/INSTALL.md"
@test -e SanitizerCoverageLTO.so && echo "[+] LLVM LTO mode successfully built" || echo "[-] LLVM LTO mode could not be built, it is optional, if you want it, please install LLVM and LLD 11+. More information at instrumentation/README.lto.md on how to build it"
ifneq "$(SYS)" "Darwin"
@test -e afl-gcc-pass.so && echo "[+] gcc_mode successfully built" || echo "[-] gcc_mode could not be built, it is optional, install gcc-VERSION-plugin-dev to enable this"
Expand Down Expand Up @@ -391,6 +399,7 @@ help:
@echo INTROSPECTION - compile afl-fuzz with mutation introspection
@echo NO_PYTHON - disable python support
@echo NO_SPLICING - disables splicing mutation in afl-fuzz, not recommended for normal fuzzing
@echo "NO_UTF - do not use UTF-8 for line rendering in status screen (fallback to G1 box drawing, of vanilla AFL)"
@echo NO_NYX - disable building nyx mode dependencies
@echo "NO_CORESIGHT - disable building coresight (arm64 only)"
@echo NO_UNICORN_ARM64 - disable building unicorn on arm64
Expand Down Expand Up @@ -644,16 +653,16 @@ endif
# -$(MAKE) -C utils/plot_ui
-$(MAKE) -C frida_mode
ifneq "$(SYS)" "Darwin"
ifeq "$(ARCH)" "aarch64"
ifndef NO_CORESIGHT
ifeq "$(ARCH)" "aarch64"
ifndef NO_CORESIGHT
-$(MAKE) -C coresight_mode
endif
endif
ifeq "$(SYS)" "Linux"
ifndef NO_NYX
endif
ifeq "$(SYS)" "Linux"
ifndef NO_NYX
-cd nyx_mode && ./build_nyx_support.sh
endif
endif
endif
endif
-cd qemu_mode && sh ./build_qemu_support.sh
ifeq "$(ARCH)" "aarch64"
ifndef NO_UNICORN_ARM64
Expand Down Expand Up @@ -740,7 +749,7 @@ endif
@echo Build Summary:
@test -e afl-fuzz && echo "[+] afl-fuzz and supporting tools successfully built" || echo "[-] afl-fuzz could not be built, please set CC to a working compiler"
@test -e afl-llvm-pass.so && echo "[+] LLVM basic mode successfully built" || echo "[-] LLVM mode could not be built, please install at least llvm-11 and clang-11 or newer, see docs/INSTALL.md"
@test -e SanitizerCoveragePCGUARD.so && echo "[+] LLVM mode successfully built" || echo "[-] LLVM mode could not be built, please install at least llvm-11 and clang-11 or newer, see docs/INSTALL.md"
@test -e SanitizerCoveragePCGUARD.so && echo "[+] LLVM mode successfully built" || echo "[-] LLVM mode could not be built, please install at least llvm-13 and clang-13 or newer, see docs/INSTALL.md"
@test -e SanitizerCoverageLTO.so && echo "[+] LLVM LTO mode successfully built" || echo "[-] LLVM LTO mode could not be built, it is optional, if you want it, please install LLVM 11-14. More information at instrumentation/README.lto.md on how to build it"
ifneq "$(SYS)" "Darwin"
test -e afl-gcc-pass.so && echo "[+] gcc_mode successfully built" || echo "[-] gcc_mode could not be built, it is optional, install gcc-VERSION-plugin-dev to enable this"
Expand Down Expand Up @@ -777,7 +786,7 @@ install: all $(MANPAGES)
@rm -f $${DESTDIR}$(BIN_PATH)/afl-plot.sh
@rm -f $${DESTDIR}$(BIN_PATH)/afl-as
@rm -f $${DESTDIR}$(HELPER_PATH)/afl-llvm-rt.o $${DESTDIR}$(HELPER_PATH)/afl-llvm-rt-32.o $${DESTDIR}$(HELPER_PATH)/afl-llvm-rt-64.o $${DESTDIR}$(HELPER_PATH)/afl-gcc-rt.o
@for i in afl-llvm-dict2file.so afl-llvm-lto-instrumentlist.so afl-llvm-pass.so cmplog-instructions-pass.so cmplog-routines-pass.so cmplog-switches-pass.so compare-transform-pass.so libcompcov.so libdislocator.so libnyx.so libqasan.so libtokencap.so SanitizerCoverageLTO.so SanitizerCoveragePCGUARD.so split-compares-pass.so split-switches-pass.so; do echo rm -fv $${DESTDIR}$(HELPER_PATH)/$${i}; done
@for i in afl-llvm-dict2file.so afl-llvm-lto-instrumentlist.so afl-llvm-pass.so cmplog-instructions-pass.so cmplog-routines-pass.so cmplog-switches-pass.so compare-transform-pass.so libcompcov.so libdislocator.so libnyx.so libqasan.so libtokencap.so SanitizerCoverageLTO.so SanitizerCoveragePCGUARD.so split-compares-pass.so split-switches-pass.so injection-pass.so; do echo rm -fv $${DESTDIR}$(HELPER_PATH)/$${i}; done
install -m 755 $(PROGS) $(SH_PROGS) $${DESTDIR}$(BIN_PATH)
@if [ -f afl-qemu-trace ]; then install -m 755 afl-qemu-trace $${DESTDIR}$(BIN_PATH); fi
@if [ -f utils/plot_ui/afl-plot-ui ]; then install -m 755 utils/plot_ui/afl-plot-ui $${DESTDIR}$(BIN_PATH); fi
Expand Down Expand Up @@ -808,11 +817,12 @@ endif
install -m 644 docs/*.md $${DESTDIR}$(DOC_PATH)
cp -r testcases/ $${DESTDIR}$(MISC_PATH)
cp -r dictionaries/ $${DESTDIR}$(MISC_PATH)
cp injections.dic $${DESTDIR}$(MISC_PATH)

.PHONY: uninstall
uninstall:
-cd $${DESTDIR}$(BIN_PATH) && rm -f $(PROGS) $(SH_PROGS) afl-cs-proxy afl-qemu-trace afl-plot-ui afl-fuzz-document afl-network-server afl-g* afl-plot.sh afl-as afl-ld-lto afl-c* afl-lto*
-cd $${DESTDIR}$(HELPER_PATH) && rm -f afl-g*.*o afl-llvm-*.*o afl-compiler-*.*o libdislocator.so libtokencap.so libcompcov.so libqasan.so afl-frida-trace.so libnyx.so socketfuzz*.so argvfuzz*.so libAFLDriver.a libAFLQemuDriver.a as afl-as SanitizerCoverage*.so compare-transform-pass.so cmplog-*-pass.so split-*-pass.so dynamic_list.txt
-cd $${DESTDIR}$(BIN_PATH) && rm -f $(PROGS) $(SH_PROGS) afl-cs-proxy afl-qemu-trace afl-plot-ui afl-fuzz-document afl-network-client afl-network-server afl-g* afl-plot.sh afl-as afl-ld-lto afl-c* afl-lto*
-cd $${DESTDIR}$(HELPER_PATH) && rm -f afl-g*.*o afl-llvm-*.*o afl-compiler-*.*o libdislocator.so libtokencap.so libcompcov.so libqasan.so afl-frida-trace.so libnyx.so socketfuzz*.so argvfuzz*.so libAFLDriver.a libAFLQemuDriver.a as afl-as SanitizerCoverage*.so compare-transform-pass.so cmplog-*-pass.so split-*-pass.so dynamic_list.txt injections.dic
-rm -rf $${DESTDIR}$(MISC_PATH)/testcases $${DESTDIR}$(MISC_PATH)/dictionaries
-sh -c "ls docs/*.md | sed 's|^docs/|$${DESTDIR}$(DOC_PATH)/|' | xargs rm -f"
-cd $${DESTDIR}$(MAN_PATH) && rm -f $(MANPAGES)
Expand Down
12 changes: 7 additions & 5 deletions GNUmakefile.gcc_plugin
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
# from Laszlo Szekeres.
#
# Copyright 2015 Google Inc. All rights reserved.
# Copyright 2019-2023 AFLplusplus Project. All rights reserved.
# Copyright 2019-2024 AFLplusplus Project. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand All @@ -28,15 +28,17 @@ MAN_PATH ?= $(PREFIX)/share/man/man8

VERSION = $(shell grep '^$(HASH)define VERSION ' ./config.h | cut -d '"' -f2)

CFLAGS ?= -O3 -g -funroll-loops -D_FORTIFY_SOURCE=1
CFLAGS ?= -O3 -g -funroll-loops
# -D_FORTIFY_SOURCE=1
CFLAGS_SAFE := -Wall -Iinclude -Wno-pointer-sign \
-DAFL_PATH=\"$(HELPER_PATH)\" -DBIN_PATH=\"$(BIN_PATH)\" \
-DGCC_VERSION=\"$(GCCVER)\" -DGCC_BINDIR=\"$(GCCBINDIR)\" \
-Wno-unused-function
override CFLAGS += $(CFLAGS_SAFE)

CXXFLAGS ?= -O3 -g -funroll-loops -D_FORTIFY_SOURCE=1
CXXEFLAGS := $(CXXFLAGS) -Wall -std=c++11
CXXFLAGS ?= -O3 -g -funroll-loops
# -D_FORTIFY_SOURCE=1
CXXEFLAGS := $(CXXFLAGS) $(CPPFLAGS) -Wall -std=c++11

CC ?= gcc
CXX ?= g++
Expand All @@ -59,7 +61,7 @@ ifeq "$(findstring Foundation,$(shell $(CC) --version))" ""
endif

PLUGIN_BASE = "$(shell $(CC) -print-file-name=plugin)"
PLUGIN_FLAGS = -fPIC -fno-rtti -I$(PLUGIN_BASE)/include -I$(PLUGIN_BASE)
PLUGIN_FLAGS = -fPIC -fno-rtti -fno-exceptions -I$(PLUGIN_BASE)/include -I$(PLUGIN_BASE)
HASH=\#

GCCVER = $(shell $(CC) --version 2>/dev/null | awk 'NR == 1 {print $$NF}')
Expand Down
35 changes: 21 additions & 14 deletions GNUmakefile.llvm
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,13 @@ endif
LLVMVER = $(shell $(LLVM_CONFIG) --version 2>/dev/null | sed 's/git//' | sed 's/svn//' )
LLVM_MAJOR = $(shell $(LLVM_CONFIG) --version 2>/dev/null | sed 's/\..*//' )
LLVM_MINOR = $(shell $(LLVM_CONFIG) --version 2>/dev/null | sed 's/.*\.//' | sed 's/git//' | sed 's/svn//' | sed 's/ .*//' )
LLVM_UNSUPPORTED = $(shell $(LLVM_CONFIG) --version 2>/dev/null | grep -E -q '^[0-2]\.|^3.[0-7]\.' && echo 1 || echo 0 )
LLVM_TOO_NEW = $(shell $(LLVM_CONFIG) --version 2>/dev/null | grep -E -q '^1[7-9]' && echo 1 || echo 0 )
LLVM_UNSUPPORTED = $(shell $(LLVM_CONFIG) --version 2>/dev/null | grep -E -q '^[0-2]\.|^3.[0-8]\.' && echo 1 || echo 0 )
LLVM_TOO_NEW = $(shell $(LLVM_CONFIG) --version 2>/dev/null | grep -E -q '^1[8-9]|^2[0-9]' && echo 1 || echo 0 )
LLVM_TOO_OLD = $(shell $(LLVM_CONFIG) --version 2>/dev/null | grep -E -q '^[1-9]\.|^1[012]\.' && echo 1 || echo 0 )
LLVM_NEW_API = $(shell $(LLVM_CONFIG) --version 2>/dev/null | grep -E -q '^1[0-9]' && echo 1 || echo 0 )
LLVM_NEWER_API = $(shell $(LLVM_CONFIG) --version 2>/dev/null | grep -E -q '^1[6-9]' && echo 1 || echo 0 )
LLVM_13_OK = $(shell $(LLVM_CONFIG) --version 2>/dev/null | grep -E -q '^1[3-9]' && echo 1 || echo 0 )
LLVM_HAVE_LTO = $(shell $(LLVM_CONFIG) --version 2>/dev/null | grep -E -q '^1[1-9]' && echo 1 || echo 0 )
LLVM_HAVE_LTO = $(shell $(LLVM_CONFIG) --version 2>/dev/null | grep -E -q '^1[2-9]' && echo 1 || echo 0 )
LLVM_BINDIR = $(shell $(LLVM_CONFIG) --bindir 2>/dev/null)
LLVM_LIBDIR = $(shell $(LLVM_CONFIG) --libdir 2>/dev/null)
LLVM_STDCXX = gnu++11
Expand All @@ -69,6 +70,12 @@ ifeq "$(LLVM_TOO_NEW)" "1"
$(warning you are using an in-development llvm version - this might break llvm_mode!)
endif

ifeq "$(LLVM_TOO_OLD)" "1"
$(warning you are using an outdated LLVM version! Please use at least LLVM 13 or newer!)
$(shell sleep 2)
endif

# No switching the meaning of LLVM_TOO_OLD
LLVM_TOO_OLD=1

ifeq "$(LLVM_MAJOR)" "9"
Expand All @@ -87,18 +94,13 @@ ifeq "$(LLVM_NEWER_API)" "1"
LLVM_STDCXX = c++17
endif

ifeq "$(LLVM_TOO_OLD)" "1"
$(info [!] llvm_mode detected an old version of llvm, upgrade to at least 9 or preferable 11!)
$(shell sleep 1)
endif

ifeq "$(LLVM_HAVE_LTO)" "1"
$(info [+] llvm_mode detected llvm 11+, enabling afl-lto LTO implementation)
$(info [+] llvm_mode detected llvm 12+, enabling afl-lto LTO implementation)
LLVM_LTO = 1
endif

ifeq "$(LLVM_LTO)" "0"
$(info [+] llvm_mode detected llvm < 11, afl-lto LTO will not be build.)
$(info [+] llvm_mode detected llvm < 12, afl-lto LTO will not be build.)
endif

ifeq "$(LLVM_APPLE_XCODE)" "1"
Expand Down Expand Up @@ -260,7 +262,8 @@ else
AFL_CLANG_DEBUG_PREFIX =
endif

CFLAGS ?= -O3 -funroll-loops -fPIC -D_FORTIFY_SOURCE=1
CFLAGS ?= -O3 -funroll-loops -fPIC
# -D_FORTIFY_SOURCE=1
CFLAGS_SAFE := -Wall -g -Wno-cast-qual -Wno-variadic-macros -Wno-pointer-sign \
-I ./include/ -I ./instrumentation/ \
-DAFL_PATH=\"$(HELPER_PATH)\" -DBIN_PATH=\"$(BIN_PATH)\" \
Expand All @@ -285,7 +288,8 @@ ifdef AFL_TRACE_PC
$(info Compile option AFL_TRACE_PC is deprecated, just set AFL_LLVM_INSTRUMENT=PCGUARD to activate when compiling targets )
endif

CXXFLAGS ?= -O3 -funroll-loops -fPIC -D_FORTIFY_SOURCE=1
CXXFLAGS ?= -O3 -funroll-loops -fPIC
# -D_FORTIFY_SOURCE=1
override CXXFLAGS += -Wall -g -I ./include/ \
-DVERSION=\"$(VERSION)\" -Wno-variadic-macros -Wno-deprecated-copy-with-dtor \
-DLLVM_MINOR=$(LLVM_MINOR) -DLLVM_MAJOR=$(LLVM_MAJOR)
Expand All @@ -296,7 +300,7 @@ endif
ifneq "$(LLVM_CONFIG)" ""
CLANG_CFL += -I$(shell dirname $(LLVM_CONFIG))/../include
endif
CLANG_CPPFL = `$(LLVM_CONFIG) --cxxflags` -fno-rtti -fPIC $(CXXFLAGS) -Wno-deprecated-declarations
CLANG_CPPFL = `$(LLVM_CONFIG) --cxxflags` -fno-rtti -fno-exceptions -fPIC $(CXXFLAGS) $(CPPFLAGS) -Wno-deprecated-declarations
CLANG_LFL = `$(LLVM_CONFIG) --ldflags` $(LDFLAGS)

# wasm fuzzing: disable thread-local storage and unset LLVM debug flag
Expand Down Expand Up @@ -337,7 +341,7 @@ ifeq "$(TEST_MMAP)" "1"
endif

PROGS_ALWAYS = ./afl-cc ./afl-compiler-rt.o ./afl-compiler-rt-32.o ./afl-compiler-rt-64.o
PROGS = $(PROGS_ALWAYS) ./afl-llvm-pass.so ./SanitizerCoveragePCGUARD.so ./split-compares-pass.so ./split-switches-pass.so ./cmplog-routines-pass.so ./cmplog-instructions-pass.so ./cmplog-switches-pass.so ./afl-llvm-dict2file.so ./compare-transform-pass.so ./afl-ld-lto ./afl-llvm-lto-instrumentlist.so ./SanitizerCoverageLTO.so
PROGS = $(PROGS_ALWAYS) ./afl-llvm-pass.so ./SanitizerCoveragePCGUARD.so ./split-compares-pass.so ./split-switches-pass.so ./cmplog-routines-pass.so ./cmplog-instructions-pass.so ./cmplog-switches-pass.so ./afl-llvm-dict2file.so ./compare-transform-pass.so ./afl-ld-lto ./afl-llvm-lto-instrumentlist.so ./SanitizerCoverageLTO.so ./injection-pass.so

# If prerequisites are not given, warn, do not build anything, and exit with code 0
ifeq "$(LLVMVER)" ""
Expand Down Expand Up @@ -465,6 +469,9 @@ endif
afl-llvm-dict2file.so: instrumentation/afl-llvm-dict2file.so.cc instrumentation/afl-llvm-common.o | test_deps
$(CXX) $(CLANG_CPPFL) -shared $< -o $@ $(CLANG_LFL) instrumentation/afl-llvm-common.o

./injection-pass.so: instrumentation/injection-pass.cc instrumentation/afl-llvm-common.o | test_deps
$(CXX) $(CLANG_CPPFL) -shared $< -o $@ $(CLANG_LFL) instrumentation/afl-llvm-common.o

.PHONY: document
document:
$(CLANG_BIN) -D_AFL_DOCUMENT_MUTATIONS $(CFLAGS_SAFE) $(CPPFLAGS) $(CLANG_CFL) -O3 -Wno-unused-result -fPIC -c instrumentation/afl-compiler-rt.o.c -o ./afl-compiler-rt.o
Expand Down
Loading
Loading