X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fx86-bsd-os.h;h=dc9d9f785f3e713f9b9baa5ab4ecd7c2f20136ed;hb=eac461c1f1ca91cfe282c779291d582ed6b336cb;hp=e550f33a2cdfababdae2f39db3401500041fe82a;hpb=402958f92506b9d3de852601b8c1ccb99b5ee558;p=sbcl.git diff --git a/src/runtime/x86-bsd-os.h b/src/runtime/x86-bsd-os.h index e550f33..dc9d9f7 100644 --- a/src/runtime/x86-bsd-os.h +++ b/src/runtime/x86-bsd-os.h @@ -1,7 +1,15 @@ #ifndef _X86_BSD_OS_H #define _X86_BSD_OS_H -static inline os_context_t *arch_os_get_context(void **void_context) { +#ifdef LISP_FEATURE_FREEBSD +#include +#include +#endif + +typedef int os_context_register_t; + +static inline os_context_t *arch_os_get_context(void **void_context) +{ return (os_context_t *) *void_context; } @@ -19,14 +27,17 @@ static inline os_context_t *arch_os_get_context(void **void_context) { #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? */ +#if defined(LISP_FEATURE_RESTORE_TLS_SEGMENT_REGISTER_FROM_CONTEXT) +void os_restore_tls_segment_register(os_context_t *context); +#endif #define RESTORE_FP_CONTROL_FROM_CONTEXT void os_restore_fp_control(os_context_t *context); #endif +#if defined LISP_FEATURE_OPENBSD +#define RESTORE_FP_CONTROL_FROM_CONTEXT +void os_restore_fp_control(os_context_t *context); #endif #endif /* _X86_BSD_OS_H */