#include <config.h>
#if defined(PLATFORM_ANDROID)
#include <asm/sigcontext.h>
+#endif
+
#ifdef HAVE_UCONTEXT_H
#include <ucontext.h>
#endif
-#endif
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#elif defined(TARGET_AMD64)
-#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
-#include <ucontext.h>
-#endif
-
#if defined(__APPLE__)
#define UCONTEXT_REG_RAX(ctx) (((ucontext_t*)(ctx))->uc_mcontext->__ss.__rax)
#define UCONTEXT_REG_RBX(ctx) (((ucontext_t*)(ctx))->uc_mcontext->__ss.__rbx)
#define UCONTEXT_REG_R13(ctx) (((ucontext_t*)(ctx))->sc_r13)
#define UCONTEXT_REG_R14(ctx) (((ucontext_t*)(ctx))->sc_r14)
#define UCONTEXT_REG_R15(ctx) (((ucontext_t*)(ctx))->sc_r15)
-#else
+#elif !defined(HOST_WIN32)
#define UCONTEXT_GREGS(ctx) ((guint64*)&(((ucontext_t*)(ctx))->uc_mcontext.gregs))
#endif