diff --git a/libsrcs/angelscript/sdk/angelscript/source/as_callfunc_x64_gcc.cpp b/libsrcs/angelscript/sdk/angelscript/source/as_callfunc_x64_gcc.cpp
index 28e2d2b..45f2068 100644
--- a/libsrcs/angelscript/sdk/angelscript/source/as_callfunc_x64_gcc.cpp
+++ b/libsrcs/angelscript/sdk/angelscript/source/as_callfunc_x64_gcc.cpp
@@ -72,6 +72,9 @@ static asQWORD __attribute__((noinline)) X64_CallFunction(const asQWORD *args, i
 	// Reference: http://www.x86-64.org/documentation/abi.pdf
 
 	__asm__ __volatile__ (
+#ifdef __OpenBSD__
+		"  .cfi_startproc \n"
+#endif
 
 		"  movq %0, %%rcx \n" 	// rcx = cnt
 		"  movq %1, %%r10 \n"	// r10 = args
@@ -101,6 +104,9 @@ static asQWORD __attribute__((noinline)) X64_CallFunction(const asQWORD *args, i
 		"  subl $1, %%esi \n"
 		"  xorl %%edx, %%edx \n"
 		"  leaq	8(, %%rsi, 8), %%rcx \n"
+#ifdef __OpenBSD__
+		"  .cfi_endproc \n"
+#endif
 		"loopstack: \n"
 		"  movq 112(%%r10, %%rdx), %%rax \n"
 		"  pushq %%rax \n"
@@ -109,6 +115,9 @@ static asQWORD __attribute__((noinline)) X64_CallFunction(const asQWORD *args, i
 		"  jne loopstack \n"
 		"endstack: \n"
 
+#ifdef __OpenBSD__
+		"  .cfi_startproc \n"
+#endif
 	// Populate integer and floating point parameters
 		"  movq %%r10, %%rax \n"
 		"  mov     (%%rax), %%rdi \n"
@@ -144,6 +153,9 @@ static asQWORD __attribute__((noinline)) X64_CallFunction(const asQWORD *args, i
 		"  lea %4, %%rdx \n"
 		"  movq %%xmm1, (%%rdx) \n"
 		"  jmp endcall \n"
+#ifdef __OpenBSD__
+		"  .cfi_endproc \n"
+#endif
 		"intret: \n"
 		"  movq %%rax, %3 \n"
 		"  movq %%rdx, %4 \n"
diff --git a/libsrcs/angelscript/sdk/angelscript/source/as_memory.cpp b/libsrcs/angelscript/sdk/angelscript/source/as_memory.cpp
index d802f43..2313c6a 100644
--- a/libsrcs/angelscript/sdk/angelscript/source/as_memory.cpp
+++ b/libsrcs/angelscript/sdk/angelscript/source/as_memory.cpp
@@ -38,7 +38,7 @@
 
 #include <stdlib.h>
 
-#if !defined(__APPLE__) && !defined( __SNC__ ) && !defined( __ghs__ ) && !defined(__FreeBSD__)
+#if !defined(__APPLE__) && !defined( __SNC__ ) && !defined( __ghs__ ) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
 #include <malloc.h>
 #endif
 
diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt
index 7a20136..823ff34 100644
--- a/source/CMakeLists.txt
+++ b/source/CMakeLists.txt
@@ -99,7 +99,7 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
 endif()
 
 # Linux or mingw specific settings
-if (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR MINGW)
+if (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD" OR MINGW)
     # If no build type was specified - use release build settings
     if (NOT CMAKE_BUILD_TYPE)
         set(CMAKE_BUILD_TYPE "Release")
@@ -107,7 +107,7 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR MINGW)
 
     add_definitions(-D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE)
 
-    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pipe -Wall -Wno-unused-function -fvisibility=hidden -Winvalid-pch")
+    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pipe -Wall -Wno-unused-function -fvisibility=hidden -Winvalid-pch -D_BSD_SOURCE")
     set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 -D_DEBUG")
     set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -fno-strict-aliasing -ffast-math -funroll-loops -msse2 -O2")
 
@@ -132,7 +132,7 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR MINGW)
 endif()
 
 # Linux-only specific settings
-if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+if (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")
     if (CMAKE_CROSSCOMPILING)
         set(CMAKE_LIBRARY_ARCHITECTURE "${CMAKE_SYSTEM_PROCESSOR}-linux-gnu")
         link_directories("${CMAKE_FIND_ROOT_PATH}/usr/lib/${CMAKE_SYSTEM_PROCESSOR}-linux-gnu")
@@ -151,14 +151,16 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
     string(REPLACE "-rdynamic" "" CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "${CMAKE_SHARED_LIBRARY_LINK_C_FLAGS}")
 endif()
 
-find_package(Ogg REQUIRED)
-find_package(Vorbis REQUIRED)
-find_package(Theora REQUIRED)
 find_package(CURL REQUIRED)
 find_package(ZLIB REQUIRED)
-find_package(Freetype REQUIRED)
-find_package(JPEG REQUIRED)
-find_package(PNG REQUIRED)
+if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")
+    find_package(Ogg REQUIRED)
+    find_package(Vorbis REQUIRED)
+    find_package(Theora REQUIRED)
+    find_package(Freetype REQUIRED)
+    find_package(JPEG REQUIRED)
+    find_package(PNG REQUIRED)
+endif()
 
 # We need SDL only on non-Windows platforms or when with SDL2-backend
 if (USE_SDL2 OR (${CMAKE_SYSTEM_NAME} MATCHES "Linux"))
@@ -170,7 +172,7 @@ if (USE_SDL2)
     add_definitions(-DUSE_SDL2)
 endif()
 
-if (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR MINGW)
+if (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD" OR MINGW)
     # On Linux we build angelscript from source
     set(ANGELSCRIPT_DIR ${CMAKE_HOME_DIRECTORY}/../libsrcs/angelscript/sdk/angelscript)
     if (MINGW)
@@ -182,12 +184,16 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR MINGW)
     set(ANGELSCRIPT_LIBRARY ${ANGELSCRIPT_DIR}/lib/libangelscript.a)
 
     set(ANGELSCRIPT angelscript)
-    add_custom_target(angelscript CXX=${CMAKE_CXX_COMPILER} AR=${CMAKE_AR} RANLIB=${CMAKE_RANLIB} CFLAGS=${CMAKE_C_FLAGS} CXXFLAGS=${CMAKE_CXX_FLAGS} make -C ${ANGELSCRIPT_PROJECT_DIR})
+    if (${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")
+        add_custom_target(angelscript CXX=${CMAKE_CXX_COMPILER} AR=${CMAKE_AR} RANLIB=${CMAKE_RANLIB} CFLAGS=${CMAKE_C_FLAGS} CXXFLAGS=${CMAKE_CXX_FLAGS} gmake -C ${ANGELSCRIPT_PROJECT_DIR})
+    else()
+        add_custom_target(angelscript CXX=${CMAKE_CXX_COMPILER} AR=${CMAKE_AR} RANLIB=${CMAKE_RANLIB} CFLAGS=${CMAKE_C_FLAGS} CXXFLAGS=${CMAKE_CXX_FLAGS} make -C ${ANGELSCRIPT_PROJECT_DIR})
+    endif()
 else()
     find_package(Angelscript REQUIRED)
 endif()
 
-if (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR MINGW)
+if (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD" OR MINGW)
 	if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
 		STRING(TOLOWER "win32_${QFUSION_WINDOWS_ARCH}.tar.gz" TAR_GZ_NAME)
 	else()
@@ -224,35 +230,42 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
     find_windows_release_libs(SDL2_LIBRARIES)
 endif()
 
-if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") # Do not add 'OR MINGW' here - we need to use suffix-prefix settings from Windows
+if (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD") # Do not add 'OR MINGW' here - we need to use suffix-prefix settings from Windows
     set(CURL_LIBRARY "")
     add_definitions(-DLIBCURL_RUNTIME)
 
-    set(JPEG_LIBRARIES "")
-    add_definitions(-DLIBJPEG_RUNTIME)
+    set(ZLIB_LIBRARY "")
+    add_definitions(-DZLIB_RUNTIME)
 
-    set(PNG_LIBRARIES "")
-    add_definitions(-DLIBPNG_RUNTIME)
+    if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")
+        set(JPEG_LIBRARIES "")
+        add_definitions(-DLIBJPEG_RUNTIME)
 
-    set(OGG_LIBRARY "")
-    add_definitions(-DOGGLIB_RUNTIME)
+        set(PNG_LIBRARIES "")
+        add_definitions(-DLIBPNG_RUNTIME)
 
-    set(VORBIS_LIBRARIES "")
-    add_definitions(-DVORBISLIB_RUNTIME)
+        set(OGG_LIBRARY "")
+        add_definitions(-DOGGLIB_RUNTIME)
 
-    set(THEORA_LIBRARIES "")
-    add_definitions(-DTHEORALIB_RUNTIME)
+        set(VORBIS_LIBRARIES "")
+        add_definitions(-DVORBISLIB_RUNTIME)
 
-    set(FREETYPE_LIBRARIES "")
-    add_definitions(-DFREETYPELIB_RUNTIME)
+        set(THEORA_LIBRARIES "")
+        add_definitions(-DTHEORALIB_RUNTIME)
 
-    set(ZLIB_LIBRARY "")
-    add_definitions(-DZLIB_RUNTIME)
+        set(FREETYPE_LIBRARIES "")
+        add_definitions(-DFREETYPELIB_RUNTIME)
+    endif()
 
     set(CMAKE_EXECUTABLE_SUFFIX ".${CMAKE_SYSTEM_PROCESSOR}${CMAKE_EXECUTABLE_SUFFIX}")
     set(CMAKE_SHARED_LIBRARY_SUFFIX "_${CMAKE_SYSTEM_PROCESSOR}${CMAKE_SHARED_LIBRARY_SUFFIX}")
 endif()
 
+if (${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")
+    set(CMAKE_C_COMPILER "/usr/local/bin/egcc")
+    set(CMAKE_CXX_COMPILER "/usr/local/bin/eg++")
+endif()
+
 if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
     set(CMAKE_SHARED_LIBRARY_SUFFIX "_mac${CMAKE_SHARED_LIBRARY_SUFFIX}")
 
@@ -260,16 +273,18 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
 endif()
 
 add_subdirectory(angelwrap)
-add_subdirectory(cgame)
-add_subdirectory(cin)
-add_subdirectory(ftlib)
 add_subdirectory(game)
-add_subdirectory(irc)
-add_subdirectory(ref_gl)
-add_subdirectory(snd_openal)
-add_subdirectory(snd_qf)
-add_subdirectory(ui)
-add_subdirectory(steamlib)
 add_subdirectory(server)
 add_subdirectory(tv_server)
-add_subdirectory(client)
+if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")
+    add_subdirectory(cgame)
+    add_subdirectory(cin)
+    add_subdirectory(ftlib)
+    add_subdirectory(irc)
+    add_subdirectory(ref_gl)
+    add_subdirectory(snd_openal)
+    add_subdirectory(snd_qf)
+    add_subdirectory(ui)
+    add_subdirectory(steamlib)
+    add_subdirectory(client)
+endif()
diff --git a/source/angelwrap/CMakeLists.txt b/source/angelwrap/CMakeLists.txt
index a29b088..9ac7cdc 100644
--- a/source/angelwrap/CMakeLists.txt
+++ b/source/angelwrap/CMakeLists.txt
@@ -15,7 +15,7 @@ file(GLOB angelwrap_SOURCES
     "../gameshared/q_*.c"
 )
 
-if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+if (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")
 	set(ANGELWRAP_PLATFORM_LIBRARIES "pthread")
 else ()
         set(ANGELWRAP_PLATFORM_LIBRARIES "")
@@ -26,6 +26,6 @@ target_link_libraries(angelwrap PRIVATE ${ANGELSCRIPT_LIBRARY} ${ANGELWRAP_PLATF
 qf_set_output_dir(angelwrap libs)
 
 # TODO: Remove this hack from here
-if (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR MINGW)
+if (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD" OR MINGW)
     add_dependencies(angelwrap ${ANGELSCRIPT})
 endif()
diff --git a/source/gameshared/q_arch.h b/source/gameshared/q_arch.h
index 46d8e4d..e44259b 100644
--- a/source/gameshared/q_arch.h
+++ b/source/gameshared/q_arch.h
@@ -291,6 +291,51 @@ typedef int socket_handle_t;
 
 //==============================================
 
+#if defined ( __OpenBSD__ )
+
+#define HAVE_INLINE
+
+#ifndef HAVE_STRCASECMP // SDL_config.h seems to define this too...
+#define HAVE_STRCASECMP
+#endif
+
+#define LIB_DIRECTORY "libs"
+#define LIB_PREFIX "lib"
+#define LIB_SUFFIX ".so"
+
+// FIXME: move these to CMakeLists.txt
+#define LIBZ_LIBNAME "libz.so.5.0|libz.so"
+#define LIBCURL_LIBNAME "libcurl.so.4|libcurl.so.3|libcurl.so"
+
+#define BUILDSTRING "OpenBSD"
+#define OSNAME "OpenBSD"
+
+#define STEAMQUERY_OS 'l'
+
+#ifdef __i386__
+#define ARCH "i386"
+#define CPUSTRING "i386"
+#elif defined ( __x86_64__ )
+#define ARCH "amd64"
+#define CPUSTRING "x86_64"
+#endif
+
+#define VAR( x ) # x
+
+#include <stdlib.h>
+
+// wsw : aiwa : 64bit integers and integer-pointer types
+typedef int ioctl_param_t;
+
+typedef int socket_handle_t;
+
+#define SOCKET_ERROR (-1)
+#define INVALID_SOCKET (-1)
+
+#endif
+
+//==============================================
+
 #if defined ( __APPLE__ ) && defined ( __MACH__ )
 
 #ifndef __MACOSX__
diff --git a/source/qcommon/compression.c b/source/qcommon/compression.c
index b1b6101..536d3c0 100644
--- a/source/qcommon/compression.c
+++ b/source/qcommon/compression.c
@@ -41,7 +41,9 @@ int (ZEXPORT *qgzclose)(gzFile file);
 int (ZEXPORT *qgzeof)(gzFile file);
 int (ZEXPORT *qgzflush)(gzFile file, int flush);
 int (ZEXPORT *qgzsetparams)(gzFile file, int level, int strategy);
+#ifndef __OpenBSD__
 int (ZEXPORT *qgzbuffer)(gzFile file, unsigned size);
+#endif
 
 static dllfunc_t zlibfuncs[] =
 {
@@ -61,7 +63,9 @@ static dllfunc_t zlibfuncs[] =
 	{ "gzeof", ( void **)&qgzeof },
 	{ "gzflush", ( void **)&qgzflush },
 	{ "gzsetparams", ( void **)&qgzsetparams },
+#ifndef __OpenBSD__
 	{ "gzbuffer", ( void **)&qgzbuffer },
+#endif
 	{ NULL, NULL },
 };
 
diff --git a/source/qcommon/files.c b/source/qcommon/files.c
index cfa02ec..f43e6ef 100644
--- a/source/qcommon/files.c
+++ b/source/qcommon/files.c
@@ -977,7 +977,7 @@ int FS_FOpenAbsoluteFile( const char *filename, int *filenum, int mode )
 	file->gzstream = gzf;
 	file->gzlevel = Z_DEFAULT_COMPRESSION;
 
-#if ZLIB_VER_MAJOR >= 1 && ZLIB_VER_MINOR >= 2 && ZLIB_VER_REVISION >= 4
+#if ZLIB_VER_MAJOR >= 1 && ZLIB_VER_MINOR >= 2 && ZLIB_VER_REVISION >= 4 && !defined ( __OpenBSD__ )
 	if( gzf ) {
 		qgzbuffer( gzf, FZ_GZ_BUFSIZE );
 	}
@@ -1212,7 +1212,7 @@ static int _FS_FOpenFile( const char *filename, int *filenum, int mode, bool bas
 		file->gzstream = gzf;
 		file->gzlevel = Z_DEFAULT_COMPRESSION;
 
-#if ZLIB_VER_MAJOR >= 1 && ZLIB_VER_MINOR >= 2 && ZLIB_VER_REVISION >= 4
+#if ZLIB_VER_MAJOR >= 1 && ZLIB_VER_MINOR >= 2 && ZLIB_VER_REVISION >= 4 && !defined ( __OpenBSD__ )
 		if( gzf ) {
 			qgzbuffer( gzf, FZ_GZ_BUFSIZE );
 		}
diff --git a/source/server/CMakeLists.txt b/source/server/CMakeLists.txt
index bb9bf98..796a477 100644
--- a/source/server/CMakeLists.txt
+++ b/source/server/CMakeLists.txt
@@ -79,7 +79,11 @@ else()
         "../null/sys_vfs_null.c"
     )
 
-    set(SERVER_PLATFORM_LIBRARIES "pthread" "dl" "m")
+    if (${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")
+        set(SERVER_PLATFORM_LIBRARIES "pthread" "m")
+    else()
+        set(SERVER_PLATFORM_LIBRARIES "pthread" "dl" "m")
+    endif()
     set(SERVER_BINARY_TYPE "")
 endif()
 
@@ -88,4 +92,4 @@ add_dependencies(${QFUSION_SERVER_NAME} angelwrap game irc)
 target_link_libraries(${QFUSION_SERVER_NAME} PRIVATE ${CURL_LIBRARY} ${ZLIB_LIBRARY} ${SERVER_PLATFORM_LIBRARIES})
 qf_set_output_dir(${QFUSION_SERVER_NAME} "")
 
-set_target_properties(${QFUSION_SERVER_NAME} PROPERTIES COMPILE_DEFINITIONS "DEDICATED_ONLY")
\ No newline at end of file
+set_target_properties(${QFUSION_SERVER_NAME} PROPERTIES COMPILE_DEFINITIONS "DEDICATED_ONLY")
diff --git a/source/tv_server/CMakeLists.txt b/source/tv_server/CMakeLists.txt
index 5b6a6f0..f876bcf 100644
--- a/source/tv_server/CMakeLists.txt
+++ b/source/tv_server/CMakeLists.txt
@@ -74,7 +74,11 @@ else()
         "../null/sys_vfs_null.c"
     )
 
-    set(TV_SERVER_PLATFORM_LIBRARIES "pthread" "dl" "m")
+    if (${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")
+        set(TV_SERVER_PLATFORM_LIBRARIES "pthread" "m")
+    else()
+        set(TV_SERVER_PLATFORM_LIBRARIES "pthread" "dl" "m")
+    endif()
     set(TV_SERVER_BINARY_TYPE "")
 endif()
 
diff --git a/source/unix/unix_fs.c b/source/unix/unix_fs.c
index ee6fb79..b3cacaf 100644
--- a/source/unix/unix_fs.c
+++ b/source/unix/unix_fs.c
@@ -38,7 +38,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #endif
 
 // Mac OS X and FreeBSD don't know the readdir64 and dirent64
-#if ( defined (__FreeBSD__) || defined (__ANDROID__) || !defined(_LARGEFILE64_SOURCE) )
+#if ( defined ( __FreeBSD__ ) || defined (__OpenBSD__) || defined (__ANDROID__) || !defined(_LARGEFILE64_SOURCE) )
 #define readdir64 readdir
 #define dirent64 dirent
 #endif
diff --git a/source/unix/unix_net.c b/source/unix/unix_net.c
index 20f60ce..eb465f9 100644
--- a/source/unix/unix_net.c
+++ b/source/unix/unix_net.c
@@ -26,7 +26,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #include <sys/param.h>
 #include <sys/ioctl.h>
 #include <sys/uio.h>
-#if !defined ( __APPLE__ )
+#if !defined ( __APPLE__ ) && !defined ( __OpenBSD__ )
 #include <sys/sendfile.h>
 #endif
 #include <errno.h>
@@ -86,6 +86,36 @@ int64_t Sys_NET_SendFile( socket_handle_t handle, int fileno, size_t offset, siz
 	len = count;
 	ssize_t result = sendfile( fileno, handle, _offset, &len, NULL, 0 );
 	result = len;
+#elif defined ( __OpenBSD__ )
+	if( lseek( fileno, _offset, SEEK_SET ) == -1 ) {
+		return -1;
+	}
+	ssize_t result = 0;
+	while( result < count ) {
+		char buf[ BUFSIZ ];
+		ssize_t r = read( fileno, buf, sizeof( buf ) );
+		if( r == -1 ) {
+			if( errno != EAGAIN && errno != EWOULDBLOCK ) {
+				return -1;
+			}
+		}
+		else {
+			result += r;
+			ssize_t nwritten = 0;
+			while( nwritten < r ) {
+				ssize_t w = write( handle, buf + nwritten, r - nwritten );
+				if( w == -1 ) {
+					if( errno != EAGAIN && errno != EWOULDBLOCK ) {
+						return -1;
+					}
+				}
+				else {
+					nwritten += w;
+				}
+			}
+		}
+	}
+	len = result;
 #else
 	ssize_t result = sendfile( handle, fileno, &_offset, count );
 	len = result;
diff --git a/source/unix/unix_sys.c b/source/unix/unix_sys.c
index bfc86fb..de4e546 100644
--- a/source/unix/unix_sys.c
+++ b/source/unix/unix_sys.c
@@ -109,7 +109,9 @@ static void InitSig( void )
 	signal( SIGQUIT, signal_handler );
 	signal( SIGILL, signal_handler );
 	signal( SIGTRAP, signal_handler );
+#ifndef __OpenBSD__
 	signal( SIGIOT, signal_handler );
+#endif
 	signal( SIGBUS, signal_handler );
 	signal( SIGFPE, signal_handler );
 	signal( SIGSEGV, signal_handler );
