diff options
Diffstat (limited to 'libc')
| -rw-r--r-- | libc/signal/allocrtsig.c | 4 | ||||
| -rw-r--r-- | libc/sysdeps/linux/common/Makefile.in | 4 | ||||
| -rw-r--r-- | libc/sysdeps/linux/common/sigprocmask.c | 25 | ||||
| -rw-r--r-- | libc/unistd/Makefile.in | 4 |
4 files changed, 13 insertions, 24 deletions
diff --git a/libc/signal/allocrtsig.c b/libc/signal/allocrtsig.c index ac6ba50d7..0bdbd2842 100644 --- a/libc/signal/allocrtsig.c +++ b/libc/signal/allocrtsig.c @@ -32,7 +32,11 @@ static int current_rtmin = -1; static int current_rtmax = -1; #else +# ifdef __UCLIBC_HAS_THREADS_NATIVE__ static int current_rtmin = __SIGRTMIN + 2; +# else +static int current_rtmin = __SIGRTMIN; +# endif static int current_rtmax = __SIGRTMAX; #endif diff --git a/libc/sysdeps/linux/common/Makefile.in b/libc/sysdeps/linux/common/Makefile.in index b287d5de9..ee11899e7 100644 --- a/libc/sysdeps/linux/common/Makefile.in +++ b/libc/sysdeps/linux/common/Makefile.in @@ -29,6 +29,10 @@ CSRC:=$(filter-out $(COMMON_NO_MULTI),$(CSRC)) CSRC:=$(filter-out $(COMMON_SSP),$(CSRC)) endif +ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y) +CSRC:=$(filter-out getpid.c raise.c,$(CSRC)) +endif + # fails for some reason ifneq ($(strip $(ARCH_OBJS)),) CSRC:=$(filter-out $(notdir $(ARCH_OBJS:.o=.c)),$(CSRC)) diff --git a/libc/sysdeps/linux/common/sigprocmask.c b/libc/sysdeps/linux/common/sigprocmask.c index 3f42b09b8..c555bb51b 100644 --- a/libc/sysdeps/linux/common/sigprocmask.c +++ b/libc/sysdeps/linux/common/sigprocmask.c @@ -15,6 +15,7 @@ #ifdef __NR_rt_sigprocmask #define __NR___rt_sigprocmask __NR_rt_sigprocmask +static inline _syscall4(int, __rt_sigprocmask, int, how, const sigset_t *, set, sigset_t *, oldset, size_t, size); @@ -42,18 +43,6 @@ int __sigprocmask(int how, const sigset_t * set, sigset_t * oldset) } #endif - if (set && -#if (SIG_BLOCK == 0) && (SIG_UNBLOCK == 1) && (SIG_SETMASK == 2) - (((unsigned int) how) > 2) -#else -#warning "compile time assumption violated.. slow path..." - ((how != SIG_BLOCK) && (how != SIG_UNBLOCK) - && (how != SIG_SETMASK)) -#endif - ) { - __set_errno(EINVAL); - return -1; - } return __rt_sigprocmask(how, set, oldset, _NSIG / 8); } @@ -89,18 +78,6 @@ int __sigprocmask(int how, const sigset_t * set, sigset_t * oldset) } #endif - if (set && -#if (SIG_BLOCK == 0) && (SIG_UNBLOCK == 1) && (SIG_SETMASK == 2) - (((unsigned int) how) > 2) -#else -#warning "compile time assumption violated.. slow path..." - ((how != SIG_BLOCK) && (how != SIG_UNBLOCK) - && (how != SIG_SETMASK)) -#endif - ) { - __set_errno(EINVAL); - return -1; - } return (__syscall_sigprocmask(how, set, oldset)); } #endif diff --git a/libc/unistd/Makefile.in b/libc/unistd/Makefile.in index 1bc052749..84b83b854 100644 --- a/libc/unistd/Makefile.in +++ b/libc/unistd/Makefile.in @@ -22,6 +22,10 @@ else CSRC+=getopt-susv3.c endif +ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y) +CSRC:=$(filter-out sleep.c,$(CSRC)) +endif + UNISTD_DIR:=$(top_srcdir)libc/unistd UNISTD_OUT:=$(top_builddir)libc/unistd |
