X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fbsd-os.h;h=5dfff24d536e243c4b3349e60d24b226399c0aa0;hb=343ef95fda9da33830d5ab6aabe5368c898f0918;hp=17226624389cda40252567cb9de9cd2d342295ba;hpb=074ba0606c687dbca4afc99e8e72e6f1a4486d24;p=sbcl.git diff --git a/src/runtime/bsd-os.h b/src/runtime/bsd-os.h index 1722662..5dfff24 100644 --- a/src/runtime/bsd-os.h +++ b/src/runtime/bsd-os.h @@ -17,9 +17,15 @@ #include #include +#ifdef LISP_FEATURE_DARWIN +#include +#endif + typedef caddr_t os_vm_address_t; -#ifdef __NetBSD__ +#if defined __NetBSD__ typedef vsize_t os_vm_size_t; +#elif defined __OpenBSD__ +typedef size_t os_vm_size_t; #else typedef vm_size_t os_vm_size_t; #endif @@ -49,9 +55,18 @@ typedef ucontext_t os_context_t; * so we need to implement single stepping in a more roundabout way. */ #define CANNOT_GET_TO_SINGLE_STEP_FLAG #define SIG_MEMORY_FAULT SIGBUS + #elif defined __OpenBSD__ + typedef struct sigcontext os_context_t; #define SIG_MEMORY_FAULT SIGSEGV + +#elif defined __NetBSD__ + +#include +typedef ucontext_t os_context_t; +#define SIG_MEMORY_FAULT SIGSEGV + #elif defined LISP_FEATURE_DARWIN /* man pages claim that the third argument is a sigcontext struct, but ucontext_t is defined, matches sigcontext where sensible, @@ -63,6 +78,7 @@ typedef struct sigcontext os_context_t; #include typedef ucontext_t os_context_t; #define SIG_MEMORY_FAULT SIGBUS + #else #error unsupported BSD variant #endif