diff options
author | van Hauser <vh@thc.org> | 2019-12-03 01:41:31 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-12-03 01:41:31 +0100 |
commit | 6b6aa2364546adcd0924b5bc7c5bf3c8325976bd (patch) | |
tree | 366586c4ceef17998670a8c2d978869bdac64d56 | |
parent | ef2dc98773c55eb09e4c1a588fb74df58570f868 (diff) | |
parent | 4231c498392484fd2187b9ed1dedb1ba7bc0958b (diff) | |
download | afl++-6b6aa2364546adcd0924b5bc7c5bf3c8325976bd.tar.gz |
Merge pull request #127 from devnexen/llvm_mode_build_fix
LLVM 10 build fix proposal
-rw-r--r-- | llvm_mode/LLVMInsTrim.so.cc | 1 | ||||
-rw-r--r-- | llvm_mode/Makefile | 12 |
2 files changed, 10 insertions, 3 deletions
diff --git a/llvm_mode/LLVMInsTrim.so.cc b/llvm_mode/LLVMInsTrim.so.cc index 1fa361b5..552cf580 100644 --- a/llvm_mode/LLVMInsTrim.so.cc +++ b/llvm_mode/LLVMInsTrim.so.cc @@ -13,6 +13,7 @@ #include "llvm/IR/Module.h" #include "llvm/Pass.h" #include "llvm/Support/raw_ostream.h" +#include "llvm/Support/CommandLine.h" #include "llvm/Transforms/IPO/PassManagerBuilder.h" #include "llvm/Transforms/Utils/BasicBlockUtils.h" #include "llvm/IR/DebugInfo.h" diff --git a/llvm_mode/Makefile b/llvm_mode/Makefile index 6dd9fd64..6c1ff176 100644 --- a/llvm_mode/Makefile +++ b/llvm_mode/Makefile @@ -36,9 +36,11 @@ else endif LLVMVER = $(shell $(LLVM_CONFIG) --version 2>/dev/null) -LLVM_UNSUPPORTED = $(shell $(LLVM_CONFIG) --version 2>/dev/null | egrep -q '^[12]|^3\.0|^1[0-9]' && echo 1 || echo 0) +LLVM_UNSUPPORTED = $(shell $(LLVM_CONFIG) --version 2>/dev/null | egrep -q '^[12]|^3\.0|^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_MAJOR = $(shell $(LLVM_CONFIG) --version 2>/dev/null | sed 's/\..*//') LLVM_BINDIR = $(shell $(LLVM_CONFIG) --bindir 2>/dev/null) +LLVM_STDCXX = gnu++11 LLVM_APPLE = $(shell clang -v 2>&1 | grep -iq apple && echo 1 || echo 0) ifeq "$(LLVM_UNSUPPORTED)" "1" @@ -50,6 +52,10 @@ ifeq "$(LLVM_MAJOR)" "9" $(info llvm_mode detected llvm 9, enabling neverZero implementation) endif +ifeq "$(LLVM_NEW_API)" "1" + LLVM_STDCXX = c++14 +endif + CFLAGS ?= -O3 -funroll-loops CFLAGS += -Wall -D_FORTIFY_SOURCE=2 -g -Wno-pointer-sign -I ../include/ \ -DAFL_PATH=\"$(HELPER_PATH)\" -DBIN_PATH=\"$(BIN_PATH)\" \ @@ -170,10 +176,10 @@ endif ln -sf afl-clang-fast ../afl-clang-fast++ ../libLLVMInsTrim.so: LLVMInsTrim.so.cc MarkNodes.cc | test_deps - $(CXX) $(CLANG_CFL) -DLLVMInsTrim_EXPORTS -fno-rtti -fPIC -std=gnu++11 -shared $< MarkNodes.cc -o $@ $(CLANG_LFL) + $(CXX) $(CLANG_CFL) -DLLVMInsTrim_EXPORTS -fno-rtti -fPIC -std=$(LLVM_STDCXX) -shared $< MarkNodes.cc -o $@ $(CLANG_LFL) ../afl-llvm-pass.so: afl-llvm-pass.so.cc | test_deps - $(CXX) $(CLANG_CFL) -DLLVMInsTrim_EXPORTS -fno-rtti -fPIC -std=gnu++11 -shared $< -o $@ $(CLANG_LFL) + $(CXX) $(CLANG_CFL) -DLLVMInsTrim_EXPORTS -fno-rtti -fPIC -std=$(LLVM_STDCXX) -shared $< -o $@ $(CLANG_LFL) # laf ../split-switches-pass.so: split-switches-pass.so.cc | test_deps |