aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2020-11-02 13:53:27 +0100
committervan Hauser <vh@thc.org>2020-11-02 13:53:27 +0100
commite24f8ba4b086ea72cfeeb008a4afb9725d1de1bb (patch)
treece5d2f103572cbd6897b1fb9d45e88a9714a5d24
parent52512aa0af33a4618649e30b99935620974080dd (diff)
downloadafl++-e24f8ba4b086ea72cfeeb008a4afb9725d1de1bb.tar.gz
fix SancovPCGUARD for 10.0.0
-rw-r--r--GNUmakefile.llvm5
-rw-r--r--instrumentation/SanitizerCoveragePCGUARD.so.cc28
2 files changed, 23 insertions, 10 deletions
diff --git a/GNUmakefile.llvm b/GNUmakefile.llvm
index 3605b425..da3a3529 100644
--- a/GNUmakefile.llvm
+++ b/GNUmakefile.llvm
@@ -42,10 +42,10 @@ endif
LLVMVER = $(shell $(LLVM_CONFIG) --version 2>/dev/null | sed 's/git//' )
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/ .*//' )
LLVM_UNSUPPORTED = $(shell $(LLVM_CONFIG) --version 2>/dev/null | egrep -q '^3\.[0-3]|^19' && echo 1 || echo 0 )
LLVM_NEW_API = $(shell $(LLVM_CONFIG) --version 2>/dev/null | egrep -q '^1[0-9]' && echo 1 || echo 0 )
LLVM_HAVE_LTO = $(shell $(LLVM_CONFIG) --version 2>/dev/null | egrep -q '^1[1-9]' && echo 1 || echo 0 )
-LLVM_MAJOR = $(shell $(LLVM_CONFIG) --version 2>/dev/null | sed 's/\..*//')
LLVM_BINDIR = $(shell $(LLVM_CONFIG) --bindir 2>/dev/null)
LLVM_LIBDIR = $(shell $(LLVM_CONFIG) --libdir 2>/dev/null)
LLVM_STDCXX = gnu++11
@@ -255,7 +255,8 @@ endif
CXXFLAGS ?= -O3 -funroll-loops -fPIC -D_FORTIFY_SOURCE=2
override CXXFLAGS += -Wall -g -I ./include/ \
- -DVERSION=\"$(VERSION)\" -Wno-variadic-macros
+ -DVERSION=\"$(VERSION)\" -Wno-variadic-macros \
+ -DLLVM_MINOR=$(LLVM_MINOR) -DLLVM_MAJOR=$(LLVM_MAJOR)
ifneq "$(shell $(LLVM_CONFIG) --includedir) 2> /dev/null" ""
CLANG_CFL = -I$(shell $(LLVM_CONFIG) --includedir)
diff --git a/instrumentation/SanitizerCoveragePCGUARD.so.cc b/instrumentation/SanitizerCoveragePCGUARD.so.cc
index 124679f5..b8e3570a 100644
--- a/instrumentation/SanitizerCoveragePCGUARD.so.cc
+++ b/instrumentation/SanitizerCoveragePCGUARD.so.cc
@@ -68,11 +68,17 @@ class ModuleSanitizerCoveragePass
: Options(Options) {
if (AllowlistFiles.size() > 0)
- Allowlist = SpecialCaseList::createOrDie(AllowlistFiles,
- *vfs::getRealFileSystem());
+ Allowlist = SpecialCaseList::createOrDie(AllowlistFiles
+#if LLVM_MAJOR > 10 || (LLVM_MAJOR == 10 && LLVM_MINOR > 0)
+ , *vfs::getRealFileSystem()
+#endif
+ );
if (BlocklistFiles.size() > 0)
- Blocklist = SpecialCaseList::createOrDie(BlocklistFiles,
- *vfs::getRealFileSystem());
+ Blocklist = SpecialCaseList::createOrDie(BlocklistFiles
+#if LLVM_MAJOR > 10 || (LLVM_MAJOR == 10 && LLVM_MINOR > 0)
+ , *vfs::getRealFileSystem()
+#endif
+ );
}
@@ -371,11 +377,17 @@ class ModuleSanitizerCoverageLegacyPass : public ModulePass {
: ModulePass(ID), Options(Options) {
if (AllowlistFiles.size() > 0)
- Allowlist = SpecialCaseList::createOrDie(AllowlistFiles,
- *vfs::getRealFileSystem());
+ Allowlist = SpecialCaseList::createOrDie(AllowlistFiles
+#if LLVM_MAJOR > 10 || (LLVM_MAJOR == 10 && LLVM_MINOR > 0)
+ , *vfs::getRealFileSystem()
+#endif
+ );
if (BlocklistFiles.size() > 0)
- Blocklist = SpecialCaseList::createOrDie(BlocklistFiles,
- *vfs::getRealFileSystem());
+ Blocklist = SpecialCaseList::createOrDie(BlocklistFiles
+#if LLVM_MAJOR > 10 || (LLVM_MAJOR == 10 && LLVM_MINOR > 0)
+ , *vfs::getRealFileSystem()
+#endif
+ );
initializeModuleSanitizerCoverageLegacyPassPass(
*PassRegistry::getPassRegistry());