summaryrefslogtreecommitdiffstats
path: root/libc
diff options
context:
space:
mode:
Diffstat (limited to 'libc')
-rw-r--r--libc/signal/allocrtsig.c4
-rw-r--r--libc/sysdeps/linux/common/Makefile.in4
-rw-r--r--libc/sysdeps/linux/common/sigprocmask.c25
-rw-r--r--libc/unistd/Makefile.in4
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