26 lines
827 B
Text
26 lines
827 B
Text
Index: external/bdwgc/os_dep.c
|
|
--- external/bdwgc/os_dep.c.orig
|
|
+++ external/bdwgc/os_dep.c
|
|
@@ -525,10 +525,7 @@ GC_INNER char * GC_get_maps(void)
|
|
STATIC JMP_BUF GC_jmp_buf_openbsd;
|
|
|
|
# ifdef THREADS
|
|
-# include <sys/syscall.h>
|
|
- EXTERN_C_BEGIN
|
|
- extern sigset_t __syscall(quad_t, ...);
|
|
- EXTERN_C_END
|
|
+ sigset_t signalmask;
|
|
# endif
|
|
|
|
/* Don't use GC_find_limit() because siglongjmp() outside of the */
|
|
@@ -577,7 +574,9 @@ GC_INNER char * GC_get_maps(void)
|
|
|
|
# ifdef THREADS
|
|
/* Due to the siglongjump we need to manually unmask SIGPROF. */
|
|
- __syscall(SYS_sigprocmask, SIG_UNBLOCK, sigmask(SIGPROF));
|
|
+ sigemptyset(&signalmask);
|
|
+ sigaddset(&signalmask, SIGPROF);
|
|
+ sigprocmask(SIG_UNBLOCK, &signalmask, NULL);
|
|
# endif
|
|
|
|
sigaction(SIGSEGV, &old_segv_act, 0);
|