X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fx86-bsd-os.h;h=e550f33a2cdfababdae2f39db3401500041fe82a;hb=88cc2f72774202503588331fddd1592ae8546de1;hp=5f1e242592a582712c608aa00ca1661ac0d01ef6;hpb=506253505641855dc8bb87033f7af894904f848b;p=sbcl.git diff --git a/src/runtime/x86-bsd-os.h b/src/runtime/x86-bsd-os.h index 5f1e242..e550f33 100644 --- a/src/runtime/x86-bsd-os.h +++ b/src/runtime/x86-bsd-os.h @@ -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 */