mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-08 16:21:32 +00:00
documentation update
This commit is contained in:
parent
2971b5b315
commit
e1183be22e
2
Makefile
2
Makefile
@ -158,7 +158,7 @@ ifndef AFL_NO_X86
|
|||||||
test_build: afl-gcc afl-as afl-showmap
|
test_build: afl-gcc afl-as afl-showmap
|
||||||
@echo "[*] Testing the CC wrapper and instrumentation output..."
|
@echo "[*] Testing the CC wrapper and instrumentation output..."
|
||||||
unset AFL_USE_ASAN AFL_USE_MSAN AFL_CC; AFL_QUIET=1 AFL_INST_RATIO=100 AFL_PATH=. ./$(TEST_CC) $(CFLAGS) test-instr.c -o test-instr $(LDFLAGS)
|
unset AFL_USE_ASAN AFL_USE_MSAN AFL_CC; AFL_QUIET=1 AFL_INST_RATIO=100 AFL_PATH=. ./$(TEST_CC) $(CFLAGS) test-instr.c -o test-instr $(LDFLAGS)
|
||||||
./afl-showmap -m none -q -o .test-instr0 ./test-instr </dev/null
|
./afl-showmap -m none -q -o .test-instr0 ./test-instr < /dev/null
|
||||||
echo 1 | ./afl-showmap -m none -q -o .test-instr1 ./test-instr
|
echo 1 | ./afl-showmap -m none -q -o .test-instr1 ./test-instr
|
||||||
@rm -f test-instr
|
@rm -f test-instr
|
||||||
@cmp -s .test-instr0 .test-instr1; DR="$$?"; rm -f .test-instr0 .test-instr1; if [ "$$DR" = "0" ]; then echo; echo "Oops, the instrumentation does not seem to be behaving correctly!"; echo; echo "Please ping <lcamtuf@google.com> to troubleshoot the issue."; echo; exit 1; fi
|
@cmp -s .test-instr0 .test-instr1; DR="$$?"; rm -f .test-instr0 .test-instr1; if [ "$$DR" = "0" ]; then echo; echo "Oops, the instrumentation does not seem to be behaving correctly!"; echo; echo "Please ping <lcamtuf@google.com> to troubleshoot the issue."; echo; exit 1; fi
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
# american fuzzy lop plus plus (afl++)
|
# american fuzzy lop plus plus (afl++)
|
||||||
|
|
||||||
Release Version: 2.53c
|
Release Version: 2.53c
|
||||||
|
|
||||||
Github Version: 2.53d
|
Github Version: 2.53d
|
||||||
|
|
||||||
|
|
||||||
@ -17,7 +18,7 @@
|
|||||||
get any improvements since November 2017.
|
get any improvements since November 2017.
|
||||||
|
|
||||||
Among others afl++ has, e.g. more performant llvm_mode, supporting
|
Among others afl++ has, e.g. more performant llvm_mode, supporting
|
||||||
llvm up to version 8, Qemu 3.1, more speed and crashfixes for Qemu,
|
llvm up to version 9, Qemu 3.1, more speed and crashfixes for Qemu,
|
||||||
laf-intel feature for Qemu (with libcompcov) and more.
|
laf-intel feature for Qemu (with libcompcov) and more.
|
||||||
|
|
||||||
Additionally the following patches have been integrated:
|
Additionally the following patches have been integrated:
|
||||||
@ -120,7 +121,7 @@ superior to blind fuzzing or coverage-only tools.
|
|||||||
PLEASE NOTE: llvm_mode compilation with afl-clang-fast/afl-clang-fast++
|
PLEASE NOTE: llvm_mode compilation with afl-clang-fast/afl-clang-fast++
|
||||||
instead of afl-gcc/afl-g++ is much faster and has a few cool features.
|
instead of afl-gcc/afl-g++ is much faster and has a few cool features.
|
||||||
See llvm_mode/ - however few code does not compile with llvm.
|
See llvm_mode/ - however few code does not compile with llvm.
|
||||||
We support llvm versions 4.0 to 8.
|
We support llvm versions 3.8.0 to 9.
|
||||||
|
|
||||||
When source code is available, instrumentation can be injected by a companion
|
When source code is available, instrumentation can be injected by a companion
|
||||||
tool that works as a drop-in replacement for gcc or clang in any standard build
|
tool that works as a drop-in replacement for gcc or clang in any standard build
|
||||||
@ -143,7 +144,7 @@ For C++ programs, you'd would also want to set `CXX=/path/to/afl/afl-g++`.
|
|||||||
The clang wrappers (afl-clang and afl-clang++) can be used in the same way;
|
The clang wrappers (afl-clang and afl-clang++) can be used in the same way;
|
||||||
clang users may also opt to leverage a higher-performance instrumentation mode,
|
clang users may also opt to leverage a higher-performance instrumentation mode,
|
||||||
as described in [llvm_mode/README.llvm](llvm_mode/README.llvm).
|
as described in [llvm_mode/README.llvm](llvm_mode/README.llvm).
|
||||||
Clang/LLVM has a much better performance and works with LLVM version 4.0 to 8.
|
Clang/LLVM has a much better performance and works with LLVM version 3.8.0 to 9.
|
||||||
|
|
||||||
Using the LAF Intel performance enhancements are also recommended, see
|
Using the LAF Intel performance enhancements are also recommended, see
|
||||||
[llvm_mode/README.laf-intel](llvm_mode/README.laf-intel)
|
[llvm_mode/README.laf-intel](llvm_mode/README.laf-intel)
|
||||||
|
@ -27,11 +27,11 @@ VERSION = $(shell grep '^\#define VERSION ' ../config.h | cut -d '"' -f2)
|
|||||||
|
|
||||||
LLVM_CONFIG ?= llvm-config
|
LLVM_CONFIG ?= llvm-config
|
||||||
LLVMVER = $(shell $(LLVM_CONFIG) --version)
|
LLVMVER = $(shell $(LLVM_CONFIG) --version)
|
||||||
LLVM_UNSUPPORTED = $(shell $(LLVM_CONFIG) --version | egrep -q '^9|3.0' && echo 1 || echo 0 )
|
LLVM_UNSUPPORTED = $(shell $(LLVM_CONFIG) --version | egrep -q '^[12]|^3\.0|^1[0-9]' && echo 1 || echo 0 )
|
||||||
LLVM_MAJOR = ($shell $(LLVM_CONFIG) --version | sed 's/\..*//')
|
LLVM_MAJOR = ($shell $(LLVM_CONFIG) --version | sed 's/\..*//')
|
||||||
|
|
||||||
ifeq "$(LLVM_UNSUPPORTED)" "1"
|
ifeq "$(LLVM_UNSUPPORTED)" "1"
|
||||||
$(warn llvm_mode only supports versions 3.8.0 up to 8.x )
|
$(warn llvm_mode only supports versions 3.8.0 up to 9 )
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# this is not visible yet:
|
# this is not visible yet:
|
||||||
@ -174,7 +174,7 @@ endif
|
|||||||
test_build: $(PROGS)
|
test_build: $(PROGS)
|
||||||
@echo "[*] Testing the CC wrapper and instrumentation output..."
|
@echo "[*] Testing the CC wrapper and instrumentation output..."
|
||||||
unset AFL_USE_ASAN AFL_USE_MSAN AFL_INST_RATIO; AFL_QUIET=1 AFL_PATH=. AFL_CC=$(CC) AFL_LLVM_LAF_SPLIT_SWITCHES=1 AFL_LLVM_LAF_TRANSFORM_COMPARES=1 AFL_LLVM_LAF_SPLIT_COMPARES=1 ../afl-clang-fast $(CFLAGS) ../test-instr.c -o test-instr $(LDFLAGS)
|
unset AFL_USE_ASAN AFL_USE_MSAN AFL_INST_RATIO; AFL_QUIET=1 AFL_PATH=. AFL_CC=$(CC) AFL_LLVM_LAF_SPLIT_SWITCHES=1 AFL_LLVM_LAF_TRANSFORM_COMPARES=1 AFL_LLVM_LAF_SPLIT_COMPARES=1 ../afl-clang-fast $(CFLAGS) ../test-instr.c -o test-instr $(LDFLAGS)
|
||||||
../afl-showmap -m none -q -o .test-instr0 ./test-instr </dev/null
|
../afl-showmap -m none -q -o .test-instr0 ./test-instr < /dev/null
|
||||||
echo 1 | ../afl-showmap -m none -q -o .test-instr1 ./test-instr
|
echo 1 | ../afl-showmap -m none -q -o .test-instr1 ./test-instr
|
||||||
@rm -f test-instr
|
@rm -f test-instr
|
||||||
@cmp -s .test-instr0 .test-instr1; DR="$$?"; rm -f .test-instr0 .test-instr1; if [ "$$DR" = "0" ]; then echo; echo "Oops, the instrumentation does not seem to be behaving correctly!"; echo; echo "Please ping <lcamtuf@google.com> to troubleshoot the issue."; echo; exit 1; fi
|
@cmp -s .test-instr0 .test-instr1; DR="$$?"; rm -f .test-instr0 .test-instr1; if [ "$$DR" = "0" ]; then echo; echo "Oops, the instrumentation does not seem to be behaving correctly!"; echo; echo "Please ping <lcamtuf@google.com> to troubleshoot the issue."; echo; exit 1; fi
|
||||||
|
@ -8,7 +8,7 @@ Fast LLVM-based instrumentation for afl-fuzz
|
|||||||
1) Introduction
|
1) Introduction
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
! llvm_mode works with llvm versions 3.8.1 up to 9 !
|
! llvm_mode works with llvm versions 3.8.0 up to 9 !
|
||||||
|
|
||||||
The code in this directory allows you to instrument programs for AFL using
|
The code in this directory allows you to instrument programs for AFL using
|
||||||
true compiler-level instrumentation, instead of the more crude
|
true compiler-level instrumentation, instead of the more crude
|
||||||
|
Loading…
x
Reference in New Issue
Block a user