summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorJeffrey Pfau <jeffrey@endrift.com>2015-06-11 23:34:16 -0700
committerJeffrey Pfau <jeffrey@endrift.com>2015-07-11 23:09:11 -0700
commitfff113b64ffbb673d803d18c28f833c7d2b6c02d (patch)
treebccbf3c32b801a68d740c8aa7c77a5aae880f9a5 /Source/Core
parenta6437f629c68169983bf61c2188b743937f19ff3 (diff)
Fix 64-bit FreeBSD build
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Core/MemTools.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/Source/Core/Core/MemTools.cpp b/Source/Core/Core/MemTools.cpp
index e028b40faa..2c1f688d5b 100644
--- a/Source/Core/Core/MemTools.cpp
+++ b/Source/Core/Core/MemTools.cpp
@@ -18,6 +18,9 @@
#ifndef _M_GENERIC
#include "Core/PowerPC/JitCommon/JitBase.h"
#endif
+#ifdef __FreeBSD__
+#include <signal.h>
+#endif
namespace EMM
{
@@ -256,7 +259,11 @@ static void sigsegv_handler(int sig, siginfo_t *info, void *raw_context)
void InstallExceptionHandler()
{
stack_t signal_stack;
+#ifdef __FreeBSD__
+ signal_stack.ss_sp = (char*)malloc(SIGSTKSZ);
+#else
signal_stack.ss_sp = malloc(SIGSTKSZ);
+#endif
signal_stack.ss_size = SIGSTKSZ;
signal_stack.ss_flags = 0;
if (sigaltstack(&signal_stack, nullptr))