From 0cce29bf31c1af1d5e1f4ea3514dc384fa63f211 Mon Sep 17 00:00:00 2001
From: Alexander von Gluck IV <kallisti5@unixzen.com>
Date: Thu, 2 Aug 2018 15:04:23 +0000
Subject: [PATCH 1/2] Haiku: fix broken gcc strong stack protector

---
 Makefile | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/Makefile b/Makefile
index 9a10c2e..3cf68dc 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
-- 
2.16.4

From af943ccc2bad58f8843e831d4a00880fbdbd3396 Mon Sep 17 00:00:00 2001
From: Alexander von Gluck IV <kallisti5@unixzen.com>
Date: Thu, 2 Aug 2018 15:12:18 +0000
Subject: [PATCH 2/2] 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.
---
 qemu/util/oslib-posix.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/qemu/util/oslib-posix.c b/qemu/util/oslib-posix.c
index b688ae6..3614205 100644
--- a/qemu/util/oslib-posix.c
+++ b/qemu/util/oslib-posix.c
@@ -45,7 +45,11 @@
 #include <sys/mman.h>
 #include <libgen.h>
 #include <setjmp.h>
+#ifdef __HAIKU__
+#include <posix/signal.h>
+#else
 #include <sys/signal.h>
+#endif
 
 #ifdef CONFIG_LINUX
 #if !defined(__CYGWIN__)
-- 
2.16.4

