diff options
author | van Hauser <vh@thc.org> | 2022-10-10 17:08:01 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-10 17:08:01 +0200 |
commit | c5008362c64c4c70d53f7533661c22307bfcbb6e (patch) | |
tree | 7e867dd32421e0627e181a6d23a328f40363597e | |
parent | db4fa9319dab293f77cb57659eb3d8f3381a0160 (diff) | |
parent | 680e6e91a176e5b11aa6ce55cce39bf05784039f (diff) | |
download | afl++-c5008362c64c4c70d53f7533661c22307bfcbb6e.tar.gz |
Merge pull request #1543 from quinox/feat-make-on-gentoo
Support building LTO on Gentoo
-rw-r--r-- | GNUmakefile.llvm | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/GNUmakefile.llvm b/GNUmakefile.llvm index c37c4a51..2349e587 100644 --- a/GNUmakefile.llvm +++ b/GNUmakefile.llvm @@ -214,6 +214,17 @@ ifeq "$(LLVM_LTO)" "1" ifeq "$(AFL_REAL_LD)" "" ifneq "$(shell readlink $(LLVM_BINDIR)/ld.lld 2>&1)" "" AFL_REAL_LD = $(LLVM_BINDIR)/ld.lld + else ifneq "$(shell command -v ld.lld 2>/dev/null)" "" + AFL_REAL_LD = $(shell command -v ld.lld) + TMP_LDLDD_VERSION = $(shell $(AFL_REAL_LD) --version | awk '{ print $$2 }') + ifeq "$(LLVMVER)" "$(TMP_LDLDD_VERSION)" + $(warning ld.lld found in a weird location ($(AFL_REAL_LD)), but its the same version as LLVM so we will allow it) + else + $(warning ld.lld found in a weird location ($(AFL_REAL_LD)) and its of a different version than LLMV ($(TMP_LDLDD_VERSION) vs. $(LLVMVER)) - cannot enable LTO mode) + AFL_REAL_LD= + LLVM_LTO = 0 + endif + undefine TMP_LDLDD_VERSION else $(warning ld.lld not found, cannot enable LTO mode) LLVM_LTO = 0 @@ -229,7 +240,7 @@ AFL_CLANG_FUSELD= ifeq "$(LLVM_LTO)" "1" ifeq "$(shell echo 'int main() {return 0; }' | $(CLANG_BIN) -x c - -fuse-ld=`command -v ld` -o .test 2>/dev/null && echo 1 || echo 0 ; rm -f .test )" "1" AFL_CLANG_FUSELD=1 - ifeq "$(shell echo 'int main() {return 0; }' | $(CLANG_BIN) -x c - -fuse-ld=ld.lld --ld-path=$(LLVM_BINDIR)/ld.lld -o .test 2>/dev/null && echo 1 || echo 0 ; rm -f .test )" "1" + ifeq "$(shell echo 'int main() {return 0; }' | $(CLANG_BIN) -x c - -fuse-ld=ld.lld --ld-path=$(AFL_REAL_LD) -o .test 2>/dev/null && echo 1 || echo 0 ; rm -f .test )" "1" AFL_CLANG_LDPATH=1 endif else |