0.9.13.26: Life after heap exhaustion on GENCGC
[sbcl.git] / src / runtime / x86-bsd-os.h
index 5f1e242..e550f33 100644 (file)
@@ -11,10 +11,22 @@ static inline os_context_t *arch_os_get_context(void **void_context) {
  * can share a fair amount of code between different variants. */
 #if defined __FreeBSD__
 #define CONTEXT_ADDR_FROM_STEM(stem) &context->uc_mcontext.mc_ ## stem
-#elif defined __OpenBSD__
+#elif defined(__OpenBSD__)
 #define CONTEXT_ADDR_FROM_STEM(stem) &context->sc_ ## stem
+#elif defined __NetBSD__
+#define CONTEXT_ADDR_FROM_STEM(stem) &((context)->uc_mcontext.__gregs[_REG_ ## stem])
 #else
 #error unsupported BSD variant
 #endif
 
+#if defined(LISP_FEATURE_SB_THREAD)
+
+#if defined LISP_FEATURE_FREEBSD
+/* FIXME: why is this only done for SB-THREAD? */
+#define RESTORE_FP_CONTROL_FROM_CONTEXT
+void os_restore_fp_control(os_context_t *context);
+#endif
+
+#endif
+
 #endif /* _X86_BSD_OS_H */