aboutsummaryrefslogtreecommitdiff
path: root/llvm_mode/Makefile
diff options
context:
space:
mode:
authorAndrea Fioraldi <andreafioraldi@gmail.com>2020-01-30 22:40:09 +0100
committerAndrea Fioraldi <andreafioraldi@gmail.com>2020-01-30 22:40:09 +0100
commit95a98fb3e805d94a3db82d5da21e9a00a79dbdf2 (patch)
tree4de4f17f898a4f0632098c9902614217fa2e53eb /llvm_mode/Makefile
parentb8bad5a2273b0cddd0244a7f37c20150a08af475 (diff)
downloadafl++-95a98fb3e805d94a3db82d5da21e9a00a79dbdf2.tar.gz
cmplog runtime for LLVM
Diffstat (limited to 'llvm_mode/Makefile')
-rw-r--r--llvm_mode/Makefile17
1 files changed, 13 insertions, 4 deletions
diff --git a/llvm_mode/Makefile b/llvm_mode/Makefile
index a455dc8a..9ee6fc8b 100644
--- a/llvm_mode/Makefile
+++ b/llvm_mode/Makefile
@@ -19,8 +19,6 @@
# For Heiko:
#TEST_MMAP=1
-AFL_TRACE_PC=1
-
PREFIX ?= /usr/local
HELPER_PATH = $(PREFIX)/lib/afl
BIN_PATH = $(PREFIX)/bin
@@ -133,9 +131,9 @@ ifeq "$(TEST_MMAP)" "1"
endif
ifndef AFL_TRACE_PC
- PROGS = ../afl-clang-fast ../afl-llvm-pass.so ../libLLVMInsTrim.so ../afl-llvm-rt.o ../afl-llvm-rt-32.o ../afl-llvm-rt-64.o ../compare-transform-pass.so ../split-compares-pass.so ../split-switches-pass.so
+ PROGS = ../afl-clang-fast ../afl-llvm-cmplog-rt.o ../afl-llvm-cmplog-rt-32.o ../afl-llvm-cmplog-rt-64.o ../afl-llvm-pass.so ../libLLVMInsTrim.so ../afl-llvm-rt.o ../afl-llvm-rt-32.o ../afl-llvm-rt-64.o ../compare-transform-pass.so ../split-compares-pass.so ../split-switches-pass.so
else
- PROGS = ../afl-clang-fast ../afl-llvm-rt.o ../afl-llvm-rt-32.o ../afl-llvm-rt-64.o ../compare-transform-pass.so ../split-compares-pass.so ../split-switches-pass.so
+ PROGS = ../afl-clang-fast ../afl-llvm-cmplog-rt.o ../afl-llvm-cmplog-rt-32.o ../afl-llvm-cmplog-rt-64.o ../afl-llvm-rt.o ../afl-llvm-rt-32.o ../afl-llvm-rt-64.o ../compare-transform-pass.so ../split-compares-pass.so ../split-switches-pass.so
endif
ifneq "$(CLANGVER)" "$(LLVMVER)"
@@ -228,6 +226,17 @@ endif
@printf "[*] Building 64-bit variant of the runtime (-m64)... "
@$(CC) $(CFLAGS) -m64 -fPIC -c $< -o $@ 2>/dev/null; if [ "$$?" = "0" ]; then echo "success!"; else echo "failed (that's fine)"; fi
+../afl-llvm-cmplog-rt.o: afl-llvm-cmplog-rt.o.c | test_deps
+ $(CC) $(CFLAGS) -fPIC -c $< -o $@
+
+../afl-llvm-cmplog-rt-32.o: afl-llvm-cmplog-rt.o.c | test_deps
+ @printf "[*] Building 32-bit variant of the CmpLog runtime (-m32)... "
+ @$(CC) $(CFLAGS) -m32 -fPIC -c $< -o $@ 2>/dev/null; if [ "$$?" = "0" ]; then echo "success!"; else echo "failed (that's fine)"; fi
+
+../afl-llvm-cmplog-rt-64.o: afl-llvm-cmplog-rt.o.c | test_deps
+ @printf "[*] Building 64-bit variant of the CmpLog runtime (-m64)... "
+ @$(CC) $(CFLAGS) -m64 -fPIC -c $< -o $@ 2>/dev/null; if [ "$$?" = "0" ]; then echo "success!"; else echo "failed (that's fine)"; fi
+
test_build: $(PROGS)
@echo "[*] Testing the CC wrapper and instrumentation output..."
unset AFL_USE_ASAN AFL_USE_MSAN AFL_INST_RATIO; AFL_QUIET=1 AFL_PATH=. AFL_CC=$(CC) AFL_LLVM_LAF_SPLIT_SWITCHES=1 AFL_LLVM_LAF_TRANSFORM_COMPARES=1 AFL_LLVM_LAF_SPLIT_COMPARES=1 ../afl-clang-fast $(CFLAGS) ../test-instr.c -o test-instr $(LDFLAGS)