diff options
author | Raphaël Hertzog <raphael@offensive-security.com> | 2020-08-28 21:55:52 +0200 |
---|---|---|
committer | Raphaël Hertzog <raphael@offensive-security.com> | 2020-08-28 21:55:52 +0200 |
commit | c0fd7ba6d17cfeff69ff650018240a6c33946464 (patch) | |
tree | 813e4d1662dd71acd496d12729a64bebfa1b04db /gcc_plugin | |
parent | a3cd5232503928c440f7fda19762cdf122377128 (diff) | |
download | afl++-c0fd7ba6d17cfeff69ff650018240a6c33946464.tar.gz |
Pass CPPFLAGS to all calls of the C compiler
This variable is a standard way to inject options for the C preprocessor. It's respected by the implicit rules of make and autoconf/automake. Debian sets this variable during package build to inject `-D_FORTIFY_SOURCE=2` and we would like afl++ to respect it. Note that this commit also adds $(CFLAGS) in the build of afl-performance.o where it was missing. It might have been on purpose but we want to keep CFLAGS everywhere as well since Debian injects various options through that variable (for hardening and reproducibility).
Diffstat (limited to 'gcc_plugin')
-rw-r--r-- | gcc_plugin/GNUmakefile | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc_plugin/GNUmakefile b/gcc_plugin/GNUmakefile index f10a6c1d..48625e31 100644 --- a/gcc_plugin/GNUmakefile +++ b/gcc_plugin/GNUmakefile @@ -111,21 +111,21 @@ test_deps: @echo "[+] All set and ready to build." afl-common.o: ../src/afl-common.c - $(CC) $(CFLAGS) -c $< -o $@ $(LDFLAGS) + $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@ $(LDFLAGS) ../afl-gcc-fast: afl-gcc-fast.c afl-common.o | test_deps - $(CC) -DAFL_GCC_CC=\"$(CC)\" -DAFL_GCC_CXX=\"$(CXX)\" $(CFLAGS) $< afl-common.o -o $@ $(LDFLAGS) + $(CC) -DAFL_GCC_CC=\"$(CC)\" -DAFL_GCC_CXX=\"$(CXX)\" $(CFLAGS) $(CPPFLAGS) $< afl-common.o -o $@ $(LDFLAGS) ln -sf afl-gcc-fast ../afl-g++-fast ../afl-gcc-pass.so: afl-gcc-pass.so.cc | test_deps $(CXX) $(CXXEFLAGS) $(PLUGIN_FLAGS) -shared $< -o $@ ../afl-gcc-rt.o: afl-gcc-rt.o.c | test_deps - $(CC) $(CFLAGS_SAFE) -fPIC -c $< -o $@ + $(CC) $(CFLAGS_SAFE) $(CPPFLAGS) -fPIC -c $< -o $@ test_build: $(PROGS) @echo "[*] Testing the CC wrapper and instrumentation output..." - unset AFL_USE_ASAN AFL_USE_MSAN; AFL_QUIET=1 AFL_INST_RATIO=100 AFL_PATH=. AFL_CC=$(CC) ../afl-gcc-fast $(CFLAGS) ../test-instr.c -o test-instr $(LDFLAGS) + unset AFL_USE_ASAN AFL_USE_MSAN; AFL_QUIET=1 AFL_INST_RATIO=100 AFL_PATH=. AFL_CC=$(CC) ../afl-gcc-fast $(CFLAGS) $(CPPFLAGS) ../test-instr.c -o test-instr $(LDFLAGS) # unset AFL_USE_ASAN AFL_USE_MSAN; AFL_INST_RATIO=100 AFL_PATH=. AFL_CC=$(CC) ../afl-gcc-fast $(CFLAGS) ../test-instr.c -o test-instr $(LDFLAGS) ASAN_OPTIONS=detect_leaks=0 ../afl-showmap -m none -q -o .test-instr0 ./test-instr </dev/null echo 1 | ASAN_OPTIONS=detect_leaks=0 ../afl-showmap -m none -q -o .test-instr1 ./test-instr |