aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2020-08-14 12:06:00 +0200
committervan Hauser <vh@thc.org>2020-08-14 12:06:00 +0200
commit5f0a9c90c83b2fc9cdd8bc583e9843c9bd9d9ecb (patch)
tree11201080d23e381e3770cedc6c57ce69b7f95961
parent9ff9ff2ad2a8b4f66a64f47a3252d13803774cd2 (diff)
downloadafl++-5f0a9c90c83b2fc9cdd8bc583e9843c9bd9d9ecb.tar.gz
fixes lots of llvm warnings
-rw-r--r--llvm_mode/GNUmakefile2
-rw-r--r--llvm_mode/LLVMInsTrim.so.cc4
-rw-r--r--llvm_mode/afl-clang-fast.c4
-rw-r--r--llvm_mode/afl-ld-lto.c2
-rw-r--r--llvm_mode/afl-llvm-common.cc17
-rw-r--r--llvm_mode/afl-llvm-lto-instrumentation.so.cc2
-rw-r--r--llvm_mode/afl-llvm-pass.so.cc6
-rw-r--r--llvm_mode/compare-transform-pass.so.cc5
8 files changed, 16 insertions, 26 deletions
diff --git a/llvm_mode/GNUmakefile b/llvm_mode/GNUmakefile
index 5a5f6b4a..fb4e8537 100644
--- a/llvm_mode/GNUmakefile
+++ b/llvm_mode/GNUmakefile
@@ -241,7 +241,7 @@ endif
ifneq "$(LLVM_CONFIG)" ""
CLANG_CFL += -I$(shell dirname $(LLVM_CONFIG))/../include
endif
-CLANG_CPPFL = `$(LLVM_CONFIG) --cxxflags` -fno-rtti -fPIC $(CXXFLAGS)
+CLANG_CPPFL = `$(LLVM_CONFIG) --cxxflags` -fno-rtti -fPIC $(CXXFLAGS) -Wno-deprecated-declarations
CLANG_LFL = `$(LLVM_CONFIG) --ldflags` $(LDFLAGS)
diff --git a/llvm_mode/LLVMInsTrim.so.cc b/llvm_mode/LLVMInsTrim.so.cc
index 9812b804..206e2682 100644
--- a/llvm_mode/LLVMInsTrim.so.cc
+++ b/llvm_mode/LLVMInsTrim.so.cc
@@ -144,7 +144,7 @@ struct InsTrim : public ModulePass {
#ifdef AFL_HAVE_VECTOR_INTRINSICS
unsigned int ngram_size = 0;
/* Decide previous location vector size (must be a power of two) */
- VectorType *PrevLocTy;
+ VectorType *PrevLocTy = NULL;
if (ngram_size_str)
if (sscanf(ngram_size_str, "%u", &ngram_size) != 1 || ngram_size < 2 ||
@@ -194,7 +194,7 @@ struct InsTrim : public ModulePass {
new GlobalVariable(M, PointerType::get(Int8Ty, 0), false,
GlobalValue::ExternalLinkage, 0, "__afl_area_ptr");
GlobalVariable *AFLPrevLoc;
- GlobalVariable *AFLContext;
+ GlobalVariable *AFLContext = NULL;
LoadInst * PrevCtx = NULL; // for CTX sensitive coverage
if (ctx_str)
diff --git a/llvm_mode/afl-clang-fast.c b/llvm_mode/afl-clang-fast.c
index 6e8e4a1b..20b0de17 100644
--- a/llvm_mode/afl-clang-fast.c
+++ b/llvm_mode/afl-clang-fast.c
@@ -379,7 +379,9 @@ static void edit_params(u32 argc, char **argv, char **envp) {
if (instrument_mode == INSTRUMENT_PCGUARD) {
-#if LLVM_VERSION_MAJOR >= 4
+#if LLVM_VERSION_MAJOR > 4 || \
+ (LLVM_VERSION_MAJOR == 4 && \
+ (LLVM_VERSION_MINOR > 0 || LLVM_VERSION_PATCH >= 1))
cc_params[cc_par_cnt++] =
"-fsanitize-coverage=trace-pc-guard"; // edge coverage by default
#else
diff --git a/llvm_mode/afl-ld-lto.c b/llvm_mode/afl-ld-lto.c
index 1b59bb4a..771e2d0d 100644
--- a/llvm_mode/afl-ld-lto.c
+++ b/llvm_mode/afl-ld-lto.c
@@ -278,7 +278,7 @@ int main(int argc, char **argv) {
if (debug) {
- (void)getcwd(thecwd, sizeof(thecwd));
+ if (getcwd(thecwd, sizeof(thecwd)) != 0) strcpy(thecwd, ".");
SAYF(cMGN "[D] " cRST "cd \"%s\";", thecwd);
for (i = 0; i < argc; i++)
diff --git a/llvm_mode/afl-llvm-common.cc b/llvm_mode/afl-llvm-common.cc
index 4a94ae89..d9e63bd3 100644
--- a/llvm_mode/afl-llvm-common.cc
+++ b/llvm_mode/afl-llvm-common.cc
@@ -260,7 +260,8 @@ void scanForDangerousFunctions(llvm::Module *M) {
if (!M) return;
-#if LLVM_VERSION_MAJOR >= 4
+#if LLVM_VERSION_MAJOR > 3 || \
+ (LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 9)
for (GlobalIFunc &IF : M->ifuncs()) {
@@ -345,20 +346,14 @@ static std::string getSourceName(llvm::Function *F) {
DILocation *cDILoc = dyn_cast<DILocation>(Loc.getAsMDNode());
- unsigned int instLine = cDILoc->getLine();
- StringRef instFilename = cDILoc->getFilename();
+ StringRef instFilename = cDILoc->getFilename();
if (instFilename.str().empty()) {
/* If the original location is empty, try using the inlined location
*/
DILocation *oDILoc = cDILoc->getInlinedAt();
- if (oDILoc) {
-
- instFilename = oDILoc->getFilename();
- instLine = oDILoc->getLine();
-
- }
+ if (oDILoc) { instFilename = oDILoc->getFilename(); }
}
@@ -371,10 +366,8 @@ static std::string getSourceName(llvm::Function *F) {
DILocation cDILoc(Loc.getAsMDNode(F->getContext()));
- unsigned int instLine = cDILoc.getLineNumber();
- StringRef instFilename = cDILoc.getFilename();
+ StringRef instFilename = cDILoc.getFilename();
- (void)instLine;
/* Continue only if we know where we actually are */
return instFilename.str();
diff --git a/llvm_mode/afl-llvm-lto-instrumentation.so.cc b/llvm_mode/afl-llvm-lto-instrumentation.so.cc
index 13c4f775..a4caf77b 100644
--- a/llvm_mode/afl-llvm-lto-instrumentation.so.cc
+++ b/llvm_mode/afl-llvm-lto-instrumentation.so.cc
@@ -596,7 +596,7 @@ bool AFLLTOPass::runOnModule(Module &M) {
do {
--i;
- BasicBlock * newBB;
+ BasicBlock * newBB = NULL;
BasicBlock * origBB = &(*InsBlocks[i]);
std::vector<BasicBlock *> Successors;
Instruction * TI = origBB->getTerminator();
diff --git a/llvm_mode/afl-llvm-pass.so.cc b/llvm_mode/afl-llvm-pass.so.cc
index 92823187..a791d720 100644
--- a/llvm_mode/afl-llvm-pass.so.cc
+++ b/llvm_mode/afl-llvm-pass.so.cc
@@ -194,7 +194,7 @@ bool AFLCoverage::runOnModule(Module &M) {
#ifdef AFL_HAVE_VECTOR_INTRINSICS
/* Decide previous location vector size (must be a power of two) */
- VectorType *PrevLocTy;
+ VectorType *PrevLocTy = NULL;
if (ngram_size_str)
if (sscanf(ngram_size_str, "%u", &ngram_size) != 1 || ngram_size < 2 ||
@@ -236,7 +236,7 @@ bool AFLCoverage::runOnModule(Module &M) {
new GlobalVariable(M, PointerType::get(Int8Ty, 0), false,
GlobalValue::ExternalLinkage, 0, "__afl_area_ptr");
GlobalVariable *AFLPrevLoc;
- GlobalVariable *AFLContext;
+ GlobalVariable *AFLContext = NULL;
if (ctx_str)
#ifdef __ANDROID__
@@ -292,7 +292,7 @@ bool AFLCoverage::runOnModule(Module &M) {
ConstantInt *Zero = ConstantInt::get(Int8Ty, 0);
ConstantInt *One = ConstantInt::get(Int8Ty, 1);
- LoadInst *PrevCtx; // CTX sensitive coverage
+ LoadInst *PrevCtx = NULL; // CTX sensitive coverage
/* Instrument all the things! */
diff --git a/llvm_mode/compare-transform-pass.so.cc b/llvm_mode/compare-transform-pass.so.cc
index c3bb7f10..acdd0f3b 100644
--- a/llvm_mode/compare-transform-pass.so.cc
+++ b/llvm_mode/compare-transform-pass.so.cc
@@ -137,7 +137,6 @@ bool CompareTransform::transformCmps(Module &M, const bool processStrcmp,
bool isStrcasecmp = processStrcasecmp;
bool isStrncasecmp = processStrncasecmp;
bool isIntMemcpy = true;
- bool indirect = false;
Function *Callee = callInst->getCalledFunction();
if (!Callee) continue;
@@ -264,8 +263,6 @@ bool CompareTransform::transformCmps(Module &M, const bool processStrcmp,
}
- if ((HasStr1 || HasStr2)) indirect = true;
-
}
if (isIntMemcpy) continue;
@@ -278,7 +275,6 @@ bool CompareTransform::transformCmps(Module &M, const bool processStrcmp,
Str1 = StringRef(*val);
HasStr1 = true;
- indirect = true;
// fprintf(stderr, "loaded1 %s\n", Str1.str().c_str());
} else {
@@ -288,7 +284,6 @@ bool CompareTransform::transformCmps(Module &M, const bool processStrcmp,
Str2 = StringRef(*val);
HasStr2 = true;
- indirect = true;
// fprintf(stderr, "loaded2 %s\n", Str2.str().c_str());
}