diff options
author | Alexander Miller <alex.miller@gmx.de> | 2022-07-04 18:56:28 +0200 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-07-05 00:24:01 +0100 |
commit | 6c36e7b2994f088b837e6c6bbafba573ecd9ff50 (patch) | |
tree | 6c43540bab24a02a0de68d806d443c9202d54506 /app-forensics/aflplusplus | |
parent | app-forensics/aflplusplus: Don't use *FLAGS when testing CC wrappers (diff) | |
download | gentoo-6c36e7b2994f088b837e6c6bbafba573ecd9ff50.tar.gz gentoo-6c36e7b2994f088b837e6c6bbafba573ecd9ff50.tar.bz2 gentoo-6c36e7b2994f088b837e6c6bbafba573ecd9ff50.zip |
app-forensics/aflplusplus: Disable LTO for runtime
Runtime files get installed as object files or static archives and
shouldn't contain IR. Otherwise, gcc/clang mismatches can cause failures.
Signed-off-by: Alexander Miller <alex.miller@gmx.de>
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'app-forensics/aflplusplus')
-rw-r--r-- | app-forensics/aflplusplus/files/aflplusplus-4.01c-respect-flags.patch | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/app-forensics/aflplusplus/files/aflplusplus-4.01c-respect-flags.patch b/app-forensics/aflplusplus/files/aflplusplus-4.01c-respect-flags.patch index e4d56c25095e..ebe638f1a86c 100644 --- a/app-forensics/aflplusplus/files/aflplusplus-4.01c-respect-flags.patch +++ b/app-forensics/aflplusplus/files/aflplusplus-4.01c-respect-flags.patch @@ -1,6 +1,7 @@ * Respect CFLAGS everywhere when building. * Ignore build flags then when testing the CC wrappers (could contain incompatible flags). +* Disable LTO for runtime objects, these shouldn't contain IR. --- a/GNUmakefile +++ b/GNUmakefile @@ -29,17 +30,17 @@ ./afl-compiler-rt.o: instrumentation/afl-compiler-rt.o.c - $(CC) $(CFLAGS_SAFE) $(CPPFLAGS) -O3 -Wno-unused-result -fPIC -c $< -o $@ -+ $(CC) $(CFLAGS) $(CFLAGS_SAFE) $(CPPFLAGS) -Wno-unused-result -fPIC -c $< -o $@ ++ $(CC) $(CFLAGS) $(CFLAGS_SAFE) $(CPPFLAGS) -Wno-unused-result -fPIC -fno-lto -c $< -o $@ ./afl-compiler-rt-32.o: instrumentation/afl-compiler-rt.o.c @printf "[*] Building 32-bit variant of the runtime (-m32)... " - @$(CC) $(CFLAGS_SAFE) $(CPPFLAGS) -O3 -Wno-unused-result -m32 -fPIC -c $< -o $@ 2>/dev/null; if [ "$$?" = "0" ]; then echo "success!"; else echo "failed (that's fine)"; fi -+ @$(CC) $(CFLAGS) $(CFLAGS_SAFE) $(CPPFLAGS) -Wno-unused-result -m32 -fPIC -c $< -o $@ 2>/dev/null; if [ "$$?" = "0" ]; then echo "success!"; else echo "failed (that's fine)"; fi ++ @$(CC) $(CFLAGS) $(CFLAGS_SAFE) $(CPPFLAGS) -Wno-unused-result -m32 -fPIC -fno-lto -c $< -o $@ 2>/dev/null; if [ "$$?" = "0" ]; then echo "success!"; else echo "failed (that's fine)"; fi ./afl-compiler-rt-64.o: instrumentation/afl-compiler-rt.o.c @printf "[*] Building 64-bit variant of the runtime (-m64)... " - @$(CC) $(CFLAGS_SAFE) $(CPPFLAGS) -O3 -Wno-unused-result -m64 -fPIC -c $< -o $@ 2>/dev/null; if [ "$$?" = "0" ]; then echo "success!"; else echo "failed (that's fine)"; fi -+ @$(CC) $(CFLAGS) $(CFLAGS_SAFE) $(CPPFLAGS) -Wno-unused-result -m64 -fPIC -c $< -o $@ 2>/dev/null; if [ "$$?" = "0" ]; then echo "success!"; else echo "failed (that's fine)"; fi ++ @$(CC) $(CFLAGS) $(CFLAGS_SAFE) $(CPPFLAGS) -Wno-unused-result -m64 -fPIC -fno-lto -c $< -o $@ 2>/dev/null; if [ "$$?" = "0" ]; then echo "success!"; else echo "failed (that's fine)"; fi ./afl-gcc-pass.so: instrumentation/afl-gcc-pass.so.cc | test_deps - $(CXX) $(CXXEFLAGS) $(PLUGIN_FLAGS) -shared $< -o $@ @@ -62,17 +63,17 @@ ./afl-compiler-rt.o: instrumentation/afl-compiler-rt.o.c - $(CC) $(CLANG_CFL) $(CFLAGS_SAFE) $(CPPFLAGS) -O3 -Wno-unused-result -fPIC -c $< -o $@ -+ $(CC) $(CFLAGS) $(CLANG_CFL) $(CFLAGS_SAFE) $(CPPFLAGS) -Wno-unused-result -fPIC -c $< -o $@ ++ $(CC) $(CFLAGS) $(CLANG_CFL) $(CFLAGS_SAFE) $(CPPFLAGS) -Wno-unused-result -fPIC -fno-lto -c $< -o $@ ./afl-compiler-rt-32.o: instrumentation/afl-compiler-rt.o.c @printf "[*] Building 32-bit variant of the runtime (-m32)... " - @$(CC) $(CLANG_CFL) $(CFLAGS_SAFE) $(CPPFLAGS) -O3 -Wno-unused-result -m32 -fPIC -c $< -o $@ 2>/dev/null; if [ "$$?" = "0" ]; then echo "success!"; else echo "failed (that's fine)"; fi -+ @$(CC) $(CFLAGS) $(CLANG_CFL) $(CFLAGS_SAFE) $(CPPFLAGS) -Wno-unused-result -m32 -fPIC -c $< -o $@ 2>/dev/null; if [ "$$?" = "0" ]; then echo "success!"; else echo "failed (that's fine)"; fi ++ @$(CC) $(CFLAGS) $(CLANG_CFL) $(CFLAGS_SAFE) $(CPPFLAGS) -Wno-unused-result -m32 -fPIC -fno-lto -c $< -o $@ 2>/dev/null; if [ "$$?" = "0" ]; then echo "success!"; else echo "failed (that's fine)"; fi ./afl-compiler-rt-64.o: instrumentation/afl-compiler-rt.o.c @printf "[*] Building 64-bit variant of the runtime (-m64)... " - @$(CC) $(CLANG_CFL) $(CFLAGS_SAFE) $(CPPFLAGS) -O3 -Wno-unused-result -m64 -fPIC -c $< -o $@ 2>/dev/null; if [ "$$?" = "0" ]; then echo "success!"; else echo "failed (that's fine)"; fi -+ @$(CC) $(CFLAGS) $(CLANG_CFL) $(CFLAGS_SAFE) $(CPPFLAGS) -Wno-unused-result -m64 -fPIC -c $< -o $@ 2>/dev/null; if [ "$$?" = "0" ]; then echo "success!"; else echo "failed (that's fine)"; fi ++ @$(CC) $(CFLAGS) $(CLANG_CFL) $(CFLAGS_SAFE) $(CPPFLAGS) -Wno-unused-result -m64 -fPIC -fno-lto -c $< -o $@ 2>/dev/null; if [ "$$?" = "0" ]; then echo "success!"; else echo "failed (that's fine)"; fi .PHONY: test_build test_build: $(PROGS) @@ -136,7 +137,7 @@ -CFLAGS := -O3 -funroll-loops -g -fPIC +CFLAGS ?= -O3 -funroll-loops -g -+CFLAGS += -fPIC ++CFLAGS += -fPIC -fno-lto all: libAFLDriver.a libAFLQemuDriver.a aflpp_qemu_driver_hook.so |