X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fbsd-os.h;h=85d656853a526bebc5c5ad3993ed6e1f0e8d0977;hb=862491df05edbbfa9a5fe145d334f202e9e3758c;hp=17226624389cda40252567cb9de9cd2d342295ba;hpb=074ba0606c687dbca4afc99e8e72e6f1a4486d24;p=sbcl.git diff --git a/src/runtime/bsd-os.h b/src/runtime/bsd-os.h index 1722662..85d6568 100644 --- a/src/runtime/bsd-os.h +++ b/src/runtime/bsd-os.h @@ -18,8 +18,10 @@ #include 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 +51,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 +74,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