diff options
author | David Carlier <devnexen@gmail.com> | 2020-05-30 19:28:47 +0100 |
---|---|---|
committer | David Carlier <devnexen@gmail.com> | 2020-05-30 19:28:47 +0100 |
commit | 0adb664a315dbd3c5e63c348de0dfd44ff05edb4 (patch) | |
tree | eacd1a1164e1966945ea385f4a46070884584815 | |
parent | 4a5432890185fdce0fbfde60f507526ae6cf8a04 (diff) | |
download | afl++-0adb664a315dbd3c5e63c348de0dfd44ff05edb4.tar.gz |
OpenBSD build update and llvm mode fix
Unlike upstream version, LLVM in OpenBSD enable by default anti ROP gadget leading to bigger binaries and lower performances. On OpenBSD, it needs to link to c++ abi for th unwind symbols.
-rw-r--r-- | GNUmakefile | 2 | ||||
-rw-r--r-- | llvm_mode/GNUmakefile | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/GNUmakefile b/GNUmakefile index dd817d35..7556b617 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -100,7 +100,7 @@ ifeq "$(shell uname -s)" "DragonFly" endif ifeq "$(shell uname -s)" "OpenBSD" - override CFLAGS += -I /usr/local/include/ + override CFLAGS += -I /usr/local/include/ -mno-retpoline LDFLAGS += -Wl,-z,notext -L /usr/local/lib/ endif diff --git a/llvm_mode/GNUmakefile b/llvm_mode/GNUmakefile index 50a6be2b..b2f5a366 100644 --- a/llvm_mode/GNUmakefile +++ b/llvm_mode/GNUmakefile @@ -226,6 +226,10 @@ endif ifeq "$(shell uname)" "OpenBSD" CLANG_LFL += `$(LLVM_CONFIG) --libdir`/libLLVM.so + CLANG_CFL += -mno-retpoline + CFLAGS += -mno-retpoline + # Needed for unwind symbols + LDFLAGS += -lc++abi endif ifeq "$(shell echo '$(HASH)include <sys/ipc.h>@$(HASH)include <sys/shm.h>@int main() { int _id = shmget(IPC_PRIVATE, 65536, IPC_CREAT | IPC_EXCL | 0600); shmctl(_id, IPC_RMID, 0); return 0;}' | tr @ '\n' | $(CC) -x c - -o .test2 2>/dev/null && echo 1 || echo 0 ; rm -f .test2 )" "1" |