mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-21 13:51:18 +00:00
add an extra test for afl-gcc and check for -B support
This commit is contained in:
18
GNUmakefile
18
GNUmakefile
@ -510,15 +510,25 @@ code-format:
|
|||||||
|
|
||||||
.PHONY: test_build
|
.PHONY: test_build
|
||||||
ifndef AFL_NO_X86
|
ifndef AFL_NO_X86
|
||||||
test_build: afl-cc afl-as afl-showmap
|
test_build: afl-cc afl-gcc afl-as afl-showmap
|
||||||
@echo "[*] Testing the CC wrapper and instrumentation output..."
|
@echo "[*] Testing the CC wrapper afl-cc and its instrumentation output..."
|
||||||
@unset AFL_MAP_SIZE AFL_USE_UBSAN AFL_USE_CFISAN AFL_USE_ASAN AFL_USE_MSAN AFL_CC; AFL_INST_RATIO=100 AFL_PATH=. ./afl-cc test-instr.c -o test-instr 2>&1 || (echo "Oops, afl-cc failed"; exit 1 )
|
@unset AFL_MAP_SIZE AFL_USE_UBSAN AFL_USE_CFISAN AFL_USE_ASAN AFL_USE_MSAN AFL_CC; AFL_INST_RATIO=100 AFL_PATH=. ./afl-cc test-instr.c -o test-instr 2>&1 || (echo "Oops, afl-cc failed"; exit 1 )
|
||||||
ASAN_OPTIONS=detect_leaks=0 ./afl-showmap -m none -q -o .test-instr0 ./test-instr < /dev/null
|
ASAN_OPTIONS=detect_leaks=0 ./afl-showmap -m none -q -o .test-instr0 ./test-instr < /dev/null
|
||||||
echo 1 | ASAN_OPTIONS=detect_leaks=0 ./afl-showmap -m none -q -o .test-instr1 ./test-instr
|
echo 1 | ASAN_OPTIONS=detect_leaks=0 ./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 post to https://github.com/AFLplusplus/AFLplusplus/issues 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 of afl-cc does not seem to be behaving correctly!"; echo; echo "Please post to https://github.com/AFLplusplus/AFLplusplus/issues to troubleshoot the issue."; echo; exit 1; fi
|
||||||
@echo
|
@echo
|
||||||
@echo "[+] All right, the instrumentation seems to be working!"
|
@echo "[+] All right, the instrumentation of afl-cc seems to be working!"
|
||||||
|
@echo "[*] Testing the CC wrapper afl-gcc and its instrumentation output..."
|
||||||
|
@unset AFL_MAP_SIZE AFL_USE_UBSAN AFL_USE_CFISAN AFL_USE_ASAN AFL_USE_MSAN AFL_CC; AFL_INST_RATIO=100 AFL_PATH=. ./afl-gcc test-instr.c -o test-instr 2>&1 || (echo "Oops, afl-gcc failed"; exit 1 )
|
||||||
|
ASAN_OPTIONS=detect_leaks=0 ./afl-showmap -m none -q -o .test-instr0 ./test-instr < /dev/null
|
||||||
|
echo 1 | ASAN_OPTIONS=detect_leaks=0 ./afl-showmap -m none -q -o .test-instr1 ./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 of afl-gcc does not seem to be behaving correctly!"; \
|
||||||
|
gcc -v 2>&1 | grep -q -- --with-as= && ( echo; echo "Gcc is configured not to use an external assembler with the -B option."; echo "See docs/INSTALL.md section 5 how to build a -B enabled gcc." ) || \
|
||||||
|
( echo; echo "Please post to https://github.com/AFLplusplus/AFLplusplus/issues to troubleshoot the issue." ); echo; exit 1; fi
|
||||||
|
@echo
|
||||||
|
@echo "[+] All right, the instrumentation of afl-gcc seems to be working!"
|
||||||
else
|
else
|
||||||
test_build: afl-cc afl-as afl-showmap
|
test_build: afl-cc afl-as afl-showmap
|
||||||
@echo "[!] Note: skipping build tests (you may need to use LLVM or QEMU mode)."
|
@echo "[!] Note: skipping build tests (you may need to use LLVM or QEMU mode)."
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
issues for a variety of platforms. See README.md for the general instruction
|
issues for a variety of platforms. See README.md for the general instruction
|
||||||
manual.
|
manual.
|
||||||
|
|
||||||
## 1) Linux on x86
|
## 1. Linux on x86
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
This platform is expected to work well. Compile the program with:
|
This platform is expected to work well. Compile the program with:
|
||||||
@ -34,7 +34,7 @@ You may have to change several settings to get optimal results (most notably,
|
|||||||
disable crash reporting utilities and switch to a different CPU governor), but
|
disable crash reporting utilities and switch to a different CPU governor), but
|
||||||
afl-fuzz will guide you through that if necessary.
|
afl-fuzz will guide you through that if necessary.
|
||||||
|
|
||||||
## OpenBSD, FreeBSD, NetBSD on x86
|
## 2. OpenBSD, FreeBSD, NetBSD on x86
|
||||||
|
|
||||||
Similarly to Linux, these platforms are expected to work well and are
|
Similarly to Linux, these platforms are expected to work well and are
|
||||||
regularly tested. Compile everything with GNU make:
|
regularly tested. Compile everything with GNU make:
|
||||||
|
Reference in New Issue
Block a user