summaryrefslogtreecommitdiff
path: root/pthread_support.c
diff options
context:
space:
mode:
authorCalvin Buckley <calvin@openmailbox.org>2018-01-23 17:54:59 +0300
committerIvan Maidanski <ivmai@mail.ru>2018-01-24 17:05:22 +0300
commit847927f0e71ef1a8e3dcf2ee0879bf416311daae (patch)
tree4109df0beef3cc829dda00faa1e95b603f2b0e66 /pthread_support.c
parente9f26e6de5a1a4b4ded6d55f1a09838da5056c07 (diff)
downloadbdwgc-847927f0e71ef1a8e3dcf2ee0879bf416311daae.tar.gz
Initial support of Haiku/amd64
(port of commit e52f300 from 'mono_libgc') * configure.ac [THREADS=posix && host=*-*-haiku*] (GC_THREADS, _REENTRANT, PARALLEL_MARK, THREAD_LOCAL_ALLOC): Define macro. * include/gc_config_macros.h [GC_THREADS && __HAIKU__] (GC_HAIKU_THREADS): Likewise. * include/private/gcconfig.h [__HAIKU__ && _X86_] (I386, HAIKU, mach_type_known): Likewise. * include/private/gcconfig.h [__HAIKU__ && __amd64__] (X86_64, HAIKU, mach_type_known): Likewise. * include/private/gcconfig.h [I386 && HAIKU] (DYNAMIC_LOADING, MPROTECT_VDB): Likewise. * include/private/gcconfig.h [X86_64 && HAIKU] (OS_TYPE, GETPAGESIZE, DATASTART, DYNAMIC_LOADING, MPROTECT_VDB): Likewise. * include/private/gcconfig.h [HAIKU] (UNIX_LIKE, GET_MEM): Likewise. * os_dep.c [MPROTECT_VDB && !DARWIN && !MSWIN32 && !MSWINCE && HAIKU] (CODE_OK): Likewise. * dyn_load.c [HAIKU] (GC_register_dynamic_libraries): Implement. * os_dep.c [HAIKU] (GC_haiku_get_mem): Likewise. * include/private/gcconfig.h (BEOS): Rename to HAIKU. * os_dep.c (BEOS): Likewise. * include/private/gcconfig.h [I386 && HAIKU] (OS_TYPE): Change value to "HAIKU". * include/private/gcconfig.h [X86_64 && HAIKU]: Include OS.h; declare etext symbol. * include/private/gcconfig.h [HAIKU] (GC_haiku_get_mem): Declare prototype. * os_dep.c [(NEED_FIND_LIMIT || UNIX_LIKE) && HAIKU] (old_segv_act): Define static variable. * os_dep.c [(NEED_FIND_LIMIT || UNIX_LIKE) && HAIKU] (GC_set_and_save_fault_handler): Use old_segv_act; call sigaction(SIGSEGV). * os_dep.c [NEED_FIND_LIMIT || (USE_PROC_FOR_LIBRARIES && THREADS)] (GC_reset_fault_handler): Likewise. * os_dep.c [MPROTECT_VDB && !DARWIN && !USE_WINALLOC && HAIKU]: Do not include sys/syscall.h. * pthread_support.c [GC_HAIKU_THREADS] (GC_get_nprocs): Define function.
Diffstat (limited to 'pthread_support.c')
-rw-r--r--pthread_support.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/pthread_support.c b/pthread_support.c
index 98135537..22d4a8d6 100644
--- a/pthread_support.c
+++ b/pthread_support.c
@@ -892,8 +892,8 @@ STATIC void GC_remove_all_threads_but_me(void)
# define GC_get_nprocs() pthread_num_processors_np()
#elif defined(GC_OSF1_THREADS) || defined(GC_AIX_THREADS) \
- || defined(GC_SOLARIS_THREADS) || defined(HURD) \
- || defined(HOST_ANDROID) || defined(NACL)
+ || defined(GC_HAIKU_THREADS) || defined(GC_SOLARIS_THREADS) \
+ || defined(HURD) || defined(HOST_ANDROID) || defined(NACL)
GC_INLINE int GC_get_nprocs(void)
{
int nprocs = (int)sysconf(_SC_NPROCESSORS_ONLN);