From c7be4a2160e15089563f207752fb346a38db18ec Mon Sep 17 00:00:00 2001 From: Alex von Gluck IV Date: Thu, 2 Aug 2018 22:15:14 -0500 Subject: [PATCH] Haiku support patches (#989) * Haiku: fix broken gcc strong stack protector * qemu: Backport minor Haiku fix We need to push this fix upstream to qemu. If we don't get it upstreamed, i'll circle back and patch it if Unicorn updates its qemu version. --- Makefile | 9 +++++++++ qemu/util/oslib-posix.c | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/Makefile b/Makefile index 9a10c2eb..3cf68dc9 100644 --- a/Makefile +++ b/Makefile @@ -139,6 +139,15 @@ UNICORN_CFLAGS := $(UNICORN_CFLAGS:-fPIC=) $(LIBNAME)_LDFLAGS += -Wl,--output-def,unicorn.def DO_WINDOWS_EXPORT = 1 +# Haiku +else ifneq ($(filter Haiku%,$(UNAME_S)),) +EXT = so +VERSION_EXT = $(EXT).$(API_MAJOR) +AR_EXT = a +$(LIBNAME)_LDFLAGS += -Wl,-Bsymbolic-functions,-soname,lib$(LIBNAME).$(VERSION_EXT) +UNICORN_CFLAGS := $(UNICORN_CFLAGS:-fPIC=) +UNICORN_QEMU_FLAGS += --disable-stack-protector + # Linux, Darwin else EXT = so diff --git a/qemu/util/oslib-posix.c b/qemu/util/oslib-posix.c index b688ae6b..3614205d 100644 --- a/qemu/util/oslib-posix.c +++ b/qemu/util/oslib-posix.c @@ -45,7 +45,11 @@ #include #include #include +#ifdef __HAIKU__ +#include +#else #include +#endif #ifdef CONFIG_LINUX #if !defined(__CYGWIN__)