mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-17 04:18:06 +00:00
drop support for llvm < 6.0
This commit is contained in:
@ -36,7 +36,7 @@ ifeq "$(SYS)" "OpenBSD"
|
|||||||
LLVM_CONFIG ?= $(BIN_PATH)/llvm-config
|
LLVM_CONFIG ?= $(BIN_PATH)/llvm-config
|
||||||
HAS_OPT = $(shell test -x $(BIN_PATH)/opt && echo 0 || echo 1)
|
HAS_OPT = $(shell test -x $(BIN_PATH)/opt && echo 0 || echo 1)
|
||||||
ifeq "$(HAS_OPT)" "1"
|
ifeq "$(HAS_OPT)" "1"
|
||||||
$(warning llvm_mode needs a complete llvm installation (versions 3.4 up to 12) -> e.g. "pkg_add llvm-7.0.1p9")
|
$(warning llvm_mode needs a complete llvm installation (versions 6.0 up to 12) -> e.g. "pkg_add llvm-7.0.1p9")
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
LLVM_CONFIG ?= llvm-config
|
LLVM_CONFIG ?= llvm-config
|
||||||
@ -45,7 +45,7 @@ endif
|
|||||||
LLVMVER = $(shell $(LLVM_CONFIG) --version 2>/dev/null | sed 's/git//' | sed 's/svn//' )
|
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_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_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 | egrep -q '^3\.[0-3]|^[0-2]\.' && echo 1 || echo 0 )
|
LLVM_UNSUPPORTED = $(shell $(LLVM_CONFIG) --version 2>/dev/null | egrep -q '^[0-5]\.' && echo 1 || echo 0 )
|
||||||
LLVM_TOO_NEW = $(shell $(LLVM_CONFIG) --version 2>/dev/null | egrep -q '^1[3-9]' && echo 1 || echo 0 )
|
LLVM_TOO_NEW = $(shell $(LLVM_CONFIG) --version 2>/dev/null | egrep -q '^1[3-9]' && echo 1 || echo 0 )
|
||||||
LLVM_NEW_API = $(shell $(LLVM_CONFIG) --version 2>/dev/null | egrep -q '^1[0-9]' && echo 1 || echo 0 )
|
LLVM_NEW_API = $(shell $(LLVM_CONFIG) --version 2>/dev/null | egrep -q '^1[0-9]' && echo 1 || echo 0 )
|
||||||
LLVM_10_OK = $(shell $(LLVM_CONFIG) --version 2>/dev/null | egrep -q '^1[1-9]|^10\.[1-9]|^10\.0.[1-9]' && echo 1 || echo 0 )
|
LLVM_10_OK = $(shell $(LLVM_CONFIG) --version 2>/dev/null | egrep -q '^1[1-9]|^10\.[1-9]|^10\.0.[1-9]' && echo 1 || echo 0 )
|
||||||
@ -61,7 +61,7 @@ ifeq "$(LLVMVER)" ""
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq "$(LLVM_UNSUPPORTED)" "1"
|
ifeq "$(LLVM_UNSUPPORTED)" "1"
|
||||||
$(error llvm_mode only supports llvm from version 3.4 onwards)
|
$(error llvm_mode only supports llvm from version 6.0 onwards)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq "$(LLVM_TOO_NEW)" "1"
|
ifeq "$(LLVM_TOO_NEW)" "1"
|
||||||
@ -346,7 +346,7 @@ no_build:
|
|||||||
test_deps:
|
test_deps:
|
||||||
@echo "[*] Checking for working 'llvm-config'..."
|
@echo "[*] Checking for working 'llvm-config'..."
|
||||||
ifneq "$(LLVM_APPLE_XCODE)" "1"
|
ifneq "$(LLVM_APPLE_XCODE)" "1"
|
||||||
@type $(LLVM_CONFIG) >/dev/null 2>&1 || ( echo "[-] Oops, can't find 'llvm-config'. Install clang or set \$$LLVM_CONFIG or \$$PATH beforehand."; echo " (Sometimes, the binary will be named llvm-config-3.5 or something like that.)"; exit 1 )
|
@type $(LLVM_CONFIG) >/dev/null 2>&1 || ( echo "[-] Oops, can't find 'llvm-config'. Install clang or set \$$LLVM_CONFIG or \$$PATH beforehand."; echo " (Sometimes, the binary will be named llvm-config-11 or something like that.)"; exit 1 )
|
||||||
endif
|
endif
|
||||||
@echo "[*] Checking for working '$(CC)'..."
|
@echo "[*] Checking for working '$(CC)'..."
|
||||||
@type $(CC) >/dev/null 2>&1 || ( echo "[-] Oops, can't find '$(CC)'. Make sure that it's in your \$$PATH (or set \$$CC and \$$CXX)."; exit 1 )
|
@type $(CC) >/dev/null 2>&1 || ( echo "[-] Oops, can't find '$(CC)'. Make sure that it's in your \$$PATH (or set \$$CC and \$$CXX)."; exit 1 )
|
||||||
|
@ -84,7 +84,7 @@ behaviours and defaults:
|
|||||||
|
|
||||||
## Important features of afl++
|
## Important features of afl++
|
||||||
|
|
||||||
afl++ supports llvm up to version 12, very fast binary fuzzing with QEMU 5.1
|
afl++ supports llvm from 6.0 up to version 12, very fast binary fuzzing with QEMU 5.1
|
||||||
with laf-intel and redqueen, frida mode, unicorn mode, gcc plugin, full *BSD,
|
with laf-intel and redqueen, frida mode, unicorn mode, gcc plugin, full *BSD,
|
||||||
Mac OS, Solaris and Android support and much, much, much more.
|
Mac OS, Solaris and Android support and much, much, much more.
|
||||||
|
|
||||||
@ -293,7 +293,7 @@ anything below 9 is not recommended.
|
|||||||
|
|
|
|
||||||
v
|
v
|
||||||
+---------------------------------+
|
+---------------------------------+
|
||||||
| clang/clang++ 3.3+ is available | --> use LLVM mode (afl-clang-fast/afl-clang-fast++)
|
| clang/clang++ 6.0+ is available | --> use LLVM mode (afl-clang-fast/afl-clang-fast++)
|
||||||
+---------------------------------+ see [instrumentation/README.llvm.md](instrumentation/README.llvm.md)
|
+---------------------------------+ see [instrumentation/README.llvm.md](instrumentation/README.llvm.md)
|
||||||
|
|
|
|
||||||
| if not, or if the target fails with LLVM afl-clang-fast/++
|
| if not, or if the target fails with LLVM afl-clang-fast/++
|
||||||
|
@ -30,6 +30,7 @@ sending a mail to <afl-users+subscribe@googlegroups.com>.
|
|||||||
-i dir crashes the target or results in a timeout. By default
|
-i dir crashes the target or results in a timeout. By default
|
||||||
afl++ ignores these and uses them for splicing instead.
|
afl++ ignores these and uses them for splicing instead.
|
||||||
- afl-cc:
|
- afl-cc:
|
||||||
|
- We do not support llvm versions prior 6.0 anymore
|
||||||
- Leak Sanitizer (AFL_USE_LSAN) added by Joshua Rogers, thanks!
|
- Leak Sanitizer (AFL_USE_LSAN) added by Joshua Rogers, thanks!
|
||||||
- Removed InsTrim instrumentation as it is not as good as PCGUARD
|
- Removed InsTrim instrumentation as it is not as good as PCGUARD
|
||||||
- Removed automatic linking with -lc++ for LTO mode
|
- Removed automatic linking with -lc++ for LTO mode
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
## 1) Introduction
|
## 1) Introduction
|
||||||
|
|
||||||
! llvm_mode works with llvm versions 3.4 up to 12 !
|
! llvm_mode works with llvm versions 6.0 up to 12 !
|
||||||
|
|
||||||
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
|
||||||
|
Reference in New Issue
Block a user