about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/generic/bits/select.h2
-rw-r--r--sysdeps/unix/sysv/linux/aio_sigqueue.c4
-rw-r--r--sysdeps/unix/sysv/linux/i386/sigaction.c2
-rw-r--r--sysdeps/unix/sysv/linux/sigpending.c2
-rw-r--r--sysdeps/unix/sysv/linux/sigprocmask.c2
-rw-r--r--sysdeps/unix/sysv/linux/sigqueue.c5
-rw-r--r--sysdeps/unix/sysv/linux/sigsuspend.c2
-rw-r--r--sysdeps/unix/sysv/linux/sigtimedwait.c4
-rw-r--r--sysdeps/unix/sysv/linux/sigwaitinfo.c4
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c2
10 files changed, 27 insertions, 2 deletions
diff --git a/sysdeps/generic/bits/select.h b/sysdeps/generic/bits/select.h
index 1025532afe..4513135af9 100644
--- a/sysdeps/generic/bits/select.h
+++ b/sysdeps/generic/bits/select.h
@@ -28,7 +28,7 @@
     unsigned int __i;							      \
     __fd_set *__arr = (s);						      \
     for (__i = 0; __i < sizeof (__fd_set) / sizeof (__fd_mask); ++__i)	      \
-      __FDS_BITS (__arr)[__i] = '\0';					      \
+      __FDS_BITS (__arr)[__i] = 0;					      \
   } while (0)
 #define __FD_SET(d, s)     (__FDS_BITS (s)[__FDELT(d)] |= __FDMASK(d))
 #define __FD_CLR(d, s)     (__FDS_BITS (s)[__FDELT(d)] &= ~__FDMASK(d))
diff --git a/sysdeps/unix/sysv/linux/aio_sigqueue.c b/sysdeps/unix/sysv/linux/aio_sigqueue.c
index 8d1d5cf321..0500b3fbfa 100644
--- a/sysdeps/unix/sysv/linux/aio_sigqueue.c
+++ b/sysdeps/unix/sysv/linux/aio_sigqueue.c
@@ -26,6 +26,7 @@
 
 #include "aio_misc.h"
 
+#ifdef __NR_rt_sigqueueinfo
 extern int __syscall_rt_sigqueueinfo (int, int, siginfo_t *);
 
 
@@ -47,3 +48,6 @@ __aio_sigqueue (sig, val)
 
   return INLINE_SYSCALL (rt_sigqueueinfo, 3, info.si_pid, sig, &info);
 }
+#else
+# include <sysdeps/generic/aio_sigqueue.c>
+#endif
diff --git a/sysdeps/unix/sysv/linux/i386/sigaction.c b/sysdeps/unix/sysv/linux/i386/sigaction.c
index ab19246c9c..142eac6a75 100644
--- a/sysdeps/unix/sysv/linux/i386/sigaction.c
+++ b/sysdeps/unix/sysv/linux/i386/sigaction.c
@@ -47,6 +47,7 @@ __sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
   struct old_kernel_sigaction k_newact, k_oldact;
   int result;
 
+#ifdef __NR_rt_sigaction
   /* First try the RT signals.  */
   if (!__libc_missing_rt_sigs)
     {
@@ -83,6 +84,7 @@ __sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
       __set_errno (saved_errno);
       __libc_missing_rt_sigs = 1;
     }
+#endif
 
   if (act)
     {
diff --git a/sysdeps/unix/sysv/linux/sigpending.c b/sysdeps/unix/sysv/linux/sigpending.c
index b3706263a6..1d7e0d6597 100644
--- a/sysdeps/unix/sysv/linux/sigpending.c
+++ b/sysdeps/unix/sysv/linux/sigpending.c
@@ -38,6 +38,7 @@ int
 sigpending (set)
      sigset_t *set;
 {
+#ifdef __NR_rt_pending
   /* First try the RT signals.  */
   if (!__libc_missing_rt_sigs)
     {
@@ -52,6 +53,7 @@ sigpending (set)
       __set_errno (saved_errno);
       __libc_missing_rt_sigs = 1;
     }
+#endif
 
   return INLINE_SYSCALL (sigpending, 1, set);
 }
diff --git a/sysdeps/unix/sysv/linux/sigprocmask.c b/sysdeps/unix/sysv/linux/sigprocmask.c
index 62c5f772f6..2028ed5e11 100644
--- a/sysdeps/unix/sysv/linux/sigprocmask.c
+++ b/sysdeps/unix/sysv/linux/sigprocmask.c
@@ -39,6 +39,7 @@ __sigprocmask (how, set, oset)
      const sigset_t *set;
      sigset_t *oset;
 {
+#ifdef __NR_rt_sigprocmask
   /* First try the RT signals.  */
   if (!__libc_missing_rt_sigs)
     {
@@ -54,6 +55,7 @@ __sigprocmask (how, set, oset)
       __set_errno (saved_errno);
       __libc_missing_rt_sigs = 1;
     }
+#endif
 
   return INLINE_SYSCALL (sigprocmask, 3, how, set, oset);
 }
diff --git a/sysdeps/unix/sysv/linux/sigqueue.c b/sysdeps/unix/sysv/linux/sigqueue.c
index fa31119cfd..c3e05e159f 100644
--- a/sysdeps/unix/sysv/linux/sigqueue.c
+++ b/sysdeps/unix/sysv/linux/sigqueue.c
@@ -25,7 +25,7 @@
 
 extern int __syscall_rt_sigqueueinfo (int, int, siginfo_t *);
 
-
+#ifdef __NR_rt_sigqueueinfo
 /* Return any pending signal or wait for one for the given time.  */
 int
 __sigqueue (pid, sig, val)
@@ -46,3 +46,6 @@ __sigqueue (pid, sig, val)
   return INLINE_SYSCALL (rt_sigqueueinfo, 3, pid, sig, &info);
 }
 weak_alias (__sigqueue, sigqueue)
+#else
+# include <sysdeps/generic/sigqueue.c>
+#endif
diff --git a/sysdeps/unix/sysv/linux/sigsuspend.c b/sysdeps/unix/sysv/linux/sigsuspend.c
index b9aeffe9ff..5dd0a9e782 100644
--- a/sysdeps/unix/sysv/linux/sigsuspend.c
+++ b/sysdeps/unix/sysv/linux/sigsuspend.c
@@ -38,6 +38,7 @@ int
 __sigsuspend (set)
      const sigset_t *set;
 {
+#ifdef __NR_rt_sigsuspend
   /* First try the RT signals.  */
   if (!__libc_missing_rt_sigs)
     {
@@ -52,6 +53,7 @@ __sigsuspend (set)
       __set_errno (saved_errno);
       __libc_missing_rt_sigs = 1;
     }
+#endif
 
   return INLINE_SYSCALL (sigsuspend, 3, 0, 0, set->__val[0]);
 }
diff --git a/sysdeps/unix/sysv/linux/sigtimedwait.c b/sysdeps/unix/sysv/linux/sigtimedwait.c
index 09c04cf81b..4bb7396a42 100644
--- a/sysdeps/unix/sysv/linux/sigtimedwait.c
+++ b/sysdeps/unix/sysv/linux/sigtimedwait.c
@@ -22,6 +22,7 @@
 #include <sysdep.h>
 #include <sys/syscall.h>
 
+#ifdef __NR_rt_sigtimedwait
 extern int __syscall_rt_sigtimedwait (const sigset_t *, siginfo_t *,
 				      const struct timespec *, size_t);
 
@@ -38,3 +39,6 @@ __sigtimedwait (set, info, timeout)
   return INLINE_SYSCALL (rt_sigtimedwait, 4, set, info, timeout, _NSIG / 8);
 }
 weak_alias (__sigtimedwait, sigtimedwait)
+#else
+# include <sysdeps/generic/sigtimedwait.c>
+#endif
diff --git a/sysdeps/unix/sysv/linux/sigwaitinfo.c b/sysdeps/unix/sysv/linux/sigwaitinfo.c
index 718d179fc1..ae51275711 100644
--- a/sysdeps/unix/sysv/linux/sigwaitinfo.c
+++ b/sysdeps/unix/sysv/linux/sigwaitinfo.c
@@ -24,6 +24,7 @@
 #include <sysdep.h>
 #include <sys/syscall.h>
 
+#ifdef __NR_rt_sigtimedwait
 extern int __syscall_rt_sigtimedwait (const sigset_t *, siginfo_t *,
 				      const struct timespec *, size_t);
 
@@ -39,3 +40,6 @@ __sigwaitinfo (set, info)
   return INLINE_SYSCALL (rt_sigtimedwait, 4, set, info, NULL, _NSIG / 8);
 }
 weak_alias (__sigwaitinfo, sigwaitinfo)
+#else
+# include <sysdeps/generic/sigwaitinfo.c>
+#endif
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c b/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c
index e18ffa818d..20cde2da2c 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c
@@ -41,6 +41,7 @@ __sigaction (int sig, __const struct sigaction *act, struct sigaction *oact)
   struct old_kernel_sigaction k_sigact, k_osigact;
   int ret;
 
+#ifdef __NR_rt_sigaction
   /* First try the RT signals.  */
   if (!__libc_missing_rt_sigs)
     {
@@ -81,6 +82,7 @@ __sigaction (int sig, __const struct sigaction *act, struct sigaction *oact)
       __set_errno (saved_errno);
       __libc_missing_rt_sigs = 1;
     }
+#endif
 
   /* Magic to tell the kernel we are using "new-style" signals, in that
      the signal table is not kept in userspace.  Not the same as the