]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Updated to fedora-glibc-20040929T0821
authorJakub Jelinek <jakub@redhat.com>
Wed, 29 Sep 2004 08:48:32 +0000 (08:48 +0000)
committerJakub Jelinek <jakub@redhat.com>
Wed, 29 Sep 2004 08:48:32 +0000 (08:48 +0000)
43 files changed:
ChangeLog
fedora/branch.mk
fedora/glibc.spec.in
io/utime.h
localedata/ChangeLog
localedata/locales/cy_GB
localedata/locales/nb_NO
malloc/arena.c
nptl/ChangeLog
nptl/sysdeps/pthread/pthread_sigmask.c
nptl/sysdeps/pthread/sigaction.c
nptl/sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h
nptl/sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h
nptl/sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h
nptl/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
nptl/sysdeps/unix/sysv/linux/pthread_kill.c
nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h
nptl/sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h
nptl/sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h
nptl/sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h
nscd/nscd_getai.c
posix/sys/wait.h
posix/tst-waitid.c
stdlib/stdlib.h
sunrpc/Makefile
sunrpc/Versions
sunrpc/get_myaddr.c
sunrpc/pmap_clnt.c
sunrpc/pmap_rmt.c
sunrpc/rpc/xdr.h
sunrpc/rpc_parse.c
sunrpc/tst-getmyaddr.c [new file with mode: 0644]
sunrpc/xdr_intXX_t.c
sysdeps/generic/bits/waitstatus.h
sysdeps/generic/sigfillset.c
sysdeps/i386/dl-machine.h
sysdeps/posix/getaddrinfo.c
sysdeps/unix/sysv/linux/ia64/bits/siginfo.h
sysdeps/unix/sysv/linux/sigprocmask.c
sysdeps/unix/sysv/linux/sigtimedwait.c
sysdeps/unix/sysv/linux/sigwait.c
sysdeps/unix/sysv/linux/sigwaitinfo.c
sysdeps/unix/sysv/linux/waitid.c

index d208b771e99147490b9568a00c9e0f0b4d934f32..f8a6690432256582aa950bf9bb62537c9bc08e38 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,75 @@
+2004-09-28  Ulrich Drepper  <drepper@redhat.com>
+
+       * nscd/nscd_getai.c: Use NO_MAPPING instead of MAP_FAILED for test
+       of failing __nscd_get_map_ref.  Fix a few typos.
+
+       * sysdeps/unix/sysv/linux/sigwait.c (do_sigwait): Make sure
+       SIGSETXID is not blocked.
+       * sysdeps/unix/sysv/linux/sigwaitinfo.c (do_sigwaitinfo): Likewise.
+       * sysdeps/unix/sysv/linux/sigtimedwait.c (do_sigtimedwait): Likewise.
+       * sysdeps/unix/sysv/linux/sigprocmask.c (__sigprocmask): Likewise.
+       * sysdeps/generic/sigfillset.c (sigfillset): Don't set SIGSETXID.
+
+       * sunrpc/get_myaddr.c (get_myaddress): Fix test for failing
+       getifaddrs call.
+       * sunrpc/pmap_clnt.c (__get_myaddress): Likewise.
+       * sunrpc/pmap_rmt.c (getbroadcastnets): Likewise.
+       * sunrpc/Makefile (xtests): Add tst-getmyaddr.
+       * sunrpc/tst-getmyaddr.c: New file.
+
+       * malloc/arena.c (ptmalloc_init): Allow MALLOC_CHECK_==0 to
+       disable all checking.
+
+       * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h (si_flags): Add
+       support to get this value.
+
+2004-09-28  Jakub Jelinek  <jakub@redhat.com>
+
+       * io/utime.h (utime): Allow second argument to be NULL.
+
+2004-09-28  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/posix/getaddrinfo.c (gaih_inet): If NAME is a numerical IP
+       address and AI_CANONNAME is set, return copy of NAME as ai_canonname.
+
+2004-09-27  Andreas Jaeger  <aj@suse.de>
+
+       * sysdeps/i386/dl-machine.h (elf_machine_rela_relative): Replace
+       static inline by auto inline, add always_inline attribute.
+       (elf_machine_rel): Likewise.
+       (elf_machine_rela): Likewise.
+       (elf_machine_lazy_rel): Likewise.
+       (elf_machine_lazy_rela): Likewise.
+       (elf_machine_rel_relative): Likewise.
+
+2004-09-27  Ulrich Drepper  <drepper@redhat.com>
+
+       * sunrpc/xdr_intXX_t.c: Add xdr_quad_t and xdr_u_quad_t aliases.
+       * sunrpc/rpc/xdr.h: Declare xdr_quad_t and xdr_u_quad_t.
+       * sunrpc/rpc_parse.c (get_type): Use "quad_t" for TOK_HYPER.
+       Otherwise isvectordef will loop infinitely if typedef hyper int64_t
+       is seen.
+       (unsigned_dec): Use "u_quad_t" for similar reasons.
+       * sunrpc/Versions: Export xdr_quad_t and xdr_u_quad_t.
+
+2004-09-27  Roland McGrath  <roland@redhat.com>
+
+       * sysdeps/generic/bits/waitstatus.h (__WIFSIGNALED): Simplify bit
+       twiddling in last change.
+
+       * posix/tst-waitid.c (do_test): Add tests for waitpid with WCONTINUED.
+
+       [BZ #409]
+       * posix/sys/wait.h [__WIFCONTINUED] (WIFCONTINUED): New macro.
+       * stdlib/stdlib.h [__WIFCONTINUED] (WIFCONTINUED): New macro.
+       * sysdeps/generic/bits/waitstatus.h (__W_CONTINUED): New macro.
+       [WCONTINUED] (__WIFCONTINUED): New macro.
+       (__WIFSIGNALED): Rewritten to exclude __W_CONTINUED value, and have no
+       branches.
+
+       * sysdeps/unix/sysv/linux/waitid.c (do_waitid): Add fifth argument to
+       all three syscall uses, not just one!
+
 2004-09-26  Richard Henderson  <rth@redhat.com>
 
        * sysdeps/alpha/alphaev6/memcpy.S: Mark .prologue.
index 7a862eaf517dc338e3d3b201af91644ef96843fe..b85d5f7846929aa75c7bda4e6b7688c309f53fc4 100644 (file)
@@ -1,5 +1,5 @@
 # This file is updated automatically by Makefile.
 glibc-branch := fedora
 glibc-base := HEAD
-fedora-sync-date := 2004-09-27 06:11 UTC
-fedora-sync-tag := fedora-glibc-20040927T0611
+fedora-sync-date := 2004-09-29 08:21 UTC
+fedora-sync-tag := fedora-glibc-20040929T0821
index 35e9dc74bde74ee3b867c4fbdba7a1b288511263..2d32470640f7a8178bec031cdb708f52ca8a97c9 100644 (file)
@@ -1,4 +1,4 @@
-%define glibcrelease 59
+%define glibcrelease 60
 %define auxarches i586 i686 athlon sparcv9 alphaev6
 %define prelinkarches noarch
 %define nptlarches i386 i686 athlon x86_64 ia64 s390 s390x sparcv9 ppc ppc64
@@ -1239,6 +1239,14 @@ rm -f *.filelist*
 %endif
 
 %changelog
+* Wed Sep 29 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-60
+- update from CVS
+  - fix get_myaddress (#133982)
+  - remove nonnull attribute from second utime argument (#133866)
+  - handle SIGSETXID the same way as SIGCANCEL in
+    sigaction/pthread_kill/sigwait/sigwaitinfo etc.
+  - add __extension__ to long long types in NPTL <bits/pthreadtypes.h>
+
 * Mon Sep 27 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-59
 - update from CVS
   - fix BZ #151, #362, #381, #407
index 4b861451bcc320d96fef870b385a9957abaea762..dd5d265708819f47f68e8312229c1ed7cf9f77b7 100644 (file)
@@ -45,7 +45,7 @@ struct utimbuf
    *FILE_TIMES.  If FILE_TIMES is NULL, set them to the current time.  */
 extern int utime (__const char *__file,
                  __const struct utimbuf *__file_times)
-     __THROW __nonnull ((1, 2));
+     __THROW __nonnull ((1));
 
 __END_DECLS
 
index 2062632fa17a1f0100f8b2cd4ace1736e4ace956..7014099b686ddd22b3c33f3daa9572cbccfb219d 100644 (file)
@@ -1,3 +1,12 @@
+2004-09-28  Ulrich Drepper  <drepper@redhat.com>
+
+       * locales/nb_NO: Make language field consistent in form with nn_NO.
+
+2004-09-27  Ulrich Drepper  <drepper@redhat.com>
+
+       * locales/cy_GB: Fix d_t_fmt ("a viz" -> "mis").
+       Reported by Alan Cox <alan@redhat.com>.
+
 2004-08-07  Petter Reinholdtsen  <pere@hungry.com>
 
        * Makefile (test-input): Add tr_TR.UTF-8 sorting test.  Test case
index 4890754a8ac11327e95aaebb8bb129902a0b21ac..0415e784546017ebd2e648e3b62b8747d34b01da 100644 (file)
@@ -13,8 +13,8 @@ tel ""
 fax ""
 language "Welsh"
 territory "Great Britain"
-revision "0.8"
-date "2001-01-28"
+revision "0.9"
+date "2004-09-27"
 
 category cy_GB:2000;LC_IDENTIFICATION
 category cy_GB:2000;LC_CTYPE
@@ -245,7 +245,7 @@ mon         "<U0049><U006F><U006E><U0061><U0077><U0072>";/
             "<U0048><U0079><U0064><U0072><U0065><U0066>";/
             "<U0054><U0061><U0063><U0068><U0077><U0065><U0064><U0064>";/
             "<U0052><U0068><U0061><U0067><U0066><U0079><U0072>"
-d_t_fmt     "<U0044><U0079><U0064><U0064><U0020><U0025><U0041><U0020><U0025><U0064><U0020><U0061><U0020><U0076><U0069><U007A><U0020><U0025><U0042><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+d_t_fmt     "<U0044><U0079><U0064><U0064><U0020><U0025><U0041><U0020><U0025><U0064><U0020><U006d><U0069><U0073><U0020><U0025><U0042><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
 d_fmt       "<U0025><U0064><U002E><U0025><U006D><U002E><U0025><U0079>"
 t_fmt       "<U0025><U0054>"
 am_pm       "<U0041><U004D>";"<U0050><U004D>"
index a382a2ff4e48038afcf1d1ef9c0f324961dbabe7..f43a7323a370f866ddc9784000c36bdc92324f8b 100644 (file)
@@ -28,7 +28,7 @@ contact    ""
 email      "bug-glibc@gnu.org"
 tel        ""
 fax        ""
-language   "Norwegian Bokm<U00E5>l"
+language   "Norwegian, Bokm<U00E5>l"
 territory  "Norway"
 revision   "1.0"
 date       "2000-06-29"
index 16574e1f7d880629b3eb0f5b37b6ee3df86e3598..3adfbc45f82909475350297aa3cfd61055a1b040 100644 (file)
@@ -495,7 +495,8 @@ ptmalloc_init (void)
 #endif
   if(s) {
     if(s[0]) mALLOPt(M_CHECK_ACTION, (int)(s[0] - '0'));
-    __malloc_check_init();
+    if (check_action != 0)
+      __malloc_check_init();
   }
   if(__malloc_initialize_hook != NULL)
     (*__malloc_initialize_hook)();
index 2aff8c8dbb9a6653bdebb1ac99219f54b57eb80b..aba6fc46614d2ab198af99b38857d10112be6d11 100644 (file)
@@ -1,3 +1,22 @@
+2004-09-28  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/unix/sysv/linux/pthread_kill.c (__pthread_kill): Don't
+       allow SIGSETXID to be sent.
+       * sysdeps/pthread/sigaction.c (__sigaction): Don't allow action
+       for SIGSETXID to be defined.
+       * sysdeps/pthread/pthread_sigmask.c (pthread_sigmask): Make sure
+       SIGSETXID cannot be blocked.
+
+       * sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h (pthread_cond_t):
+       Add __extension__ to long long types.
+       * sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h: Likewise.
+       * sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h: Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise.
+       * sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h: Likewise.
+       * sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h: Likewise.
+       * sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h: Likewise.
+       * sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise.
+
 2004-09-25  Ulrich Drepper  <drepper@redhat.com>
 
        * descr.h (struct pthread): Add stopped_start field.
index efe186ac2c8c2a221f0ec3cbf6fb8c377e2d7ef6..0d12fe6bf064568f7d64a52eeb1d2192768030e9 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -31,13 +31,15 @@ pthread_sigmask (how, newmask, oldmask)
 {
   sigset_t local_newmask;
 
-  /* The only thing we have to make sure here is that SIGCANCEL is not
-     blocked.  */
+  /* The only thing we have to make sure here is that SIGCANCEL and
+     SIGSETXID is not blocked.  */
   if (newmask != NULL
-      && __builtin_expect (__sigismember (newmask, SIGCANCEL), 0))
+      && (__builtin_expect (__sigismember (newmask, SIGCANCEL), 0)
+         || __builtin_expect (__sigismember (newmask, SIGSETXID), 0)))
     {
       local_newmask = *newmask;
       __sigdelset (&local_newmask, SIGCANCEL);
+      __sigdelset (&local_newmask, SIGSETXID);
       newmask = &local_newmask;
     }
 
index 392cb65c90058c9b48bc1884fcfe5d94b99f2360..4d36150a90ae585559179b055f34ae6f3f6e11f7 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -36,7 +36,7 @@ __sigaction (sig, act, oact)
      const struct sigaction *act;
      struct sigaction *oact;
 {
-  if (sig == SIGCANCEL)
+  if (__builtin_expect (sig == SIGCANCEL || sig == SIGSETXID, 0))
     {
       __set_errno (EINVAL);
       return -1;
index 79d43febdd80b23eb2c78091405bae1531bd713a..d13d6e86a43e891f2f6697ceaaec5949276917cd 100644 (file)
@@ -77,15 +77,15 @@ typedef union
   {
     int __lock;
     unsigned int __futex;
-    unsigned long long int __total_seq;
-    unsigned long long int __wakeup_seq;
-    unsigned long long int __woken_seq;
+    __extension__ unsigned long long int __total_seq;
+    __extension__ unsigned long long int __wakeup_seq;
+    __extension__ unsigned long long int __woken_seq;
     void *__mutex;
     unsigned int __nwaiters;
     unsigned int __broadcast_seq;
   } __data;
   char __size[__SIZEOF_PTHREAD_COND_T];
-  long long int __align;
+  __extension__ long long int __align;
 } pthread_cond_t;
 
 typedef union
index 1db372d6a3b153882312c170fd04a7bfbac0e472..4d1c9450b5852d1b930bc978ce25cfe3e60aaf2a 100644 (file)
@@ -77,15 +77,15 @@ typedef union
   {
     int __lock;
     unsigned int __futex;
-    unsigned long long int __total_seq;
-    unsigned long long int __wakeup_seq;
-    unsigned long long int __woken_seq;
+    __extension__ unsigned long long int __total_seq;
+    __extension__ unsigned long long int __wakeup_seq;
+    __extension__ unsigned long long int __woken_seq;
     void *__mutex;
     unsigned int __nwaiters;
     unsigned int __broadcast_seq;
   } __data;
   char __size[__SIZEOF_PTHREAD_COND_T];
-  long long int __align;
+  __extension__ long long int __align;
 } pthread_cond_t;
 
 typedef union
index 746138e420e2ed280a8ec645bc065a26a6417673..afb8800ac9993b7aba919f6b0fbf21f8b363d130 100644 (file)
@@ -77,9 +77,9 @@ typedef union
   {
     int __lock;
     unsigned int __futex;
-    unsigned long long int __total_seq;
-    unsigned long long int __wakeup_seq;
-    unsigned long long int __woken_seq;
+    __extension__ unsigned long long int __total_seq;
+    __extension__ unsigned long long int __wakeup_seq;
+    __extension__ unsigned long long int __woken_seq;
     void *__mutex;
     unsigned int __nwaiters;
     unsigned int __broadcast_seq;
index 2f8e1d96000a376ee0fc8a040e010ac86044bb27..90c0695697baf99b1cb515f20795edadb4c21492 100644 (file)
@@ -97,15 +97,15 @@ typedef union
   {
     int __lock;
     unsigned int __futex;
-    unsigned long long int __total_seq;
-    unsigned long long int __wakeup_seq;
-    unsigned long long int __woken_seq;
+    __extension__ unsigned long long int __total_seq;
+    __extension__ unsigned long long int __wakeup_seq;
+    __extension__ unsigned long long int __woken_seq;
     void *__mutex;
     unsigned int __nwaiters;
     unsigned int __broadcast_seq;
   } __data;
   char __size[__SIZEOF_PTHREAD_COND_T];
-  long long int __align;
+  __extension__ long long int __align;
 } pthread_cond_t;
 
 typedef union
index 87577be4dcaa9d16ccbd30c841eaee311a68f47b..9115d6f40b271908e98b4f4ddfea2cbbdb2259c1 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -37,8 +37,9 @@ __pthread_kill (threadid, signo)
     /* Not a valid thread handle.  */
     return ESRCH;
 
-  /* Disallow sending the signal we use for cancellation.  */
-  if (signo == SIGCANCEL || signo == SIGTIMER)
+  /* Disallow sending the signal we use for cancellation, timers, for
+     for the setxid implementation.  */
+  if (signo == SIGCANCEL || signo == SIGTIMER || signo == SIGSETXID)
     return EINVAL;
 
   /* We have a special syscall to do the work.  */
index 9d7490444da4bc7d8b5f55777dd1b0013a30db8f..6b3618cd570f890dae3343d0e789376c13a62ce1 100644 (file)
@@ -96,15 +96,15 @@ typedef union
   {
     int __lock;
     unsigned int __futex;
-    unsigned long long int __total_seq;
-    unsigned long long int __wakeup_seq;
-    unsigned long long int __woken_seq;
+    __extension__ unsigned long long int __total_seq;
+    __extension__ unsigned long long int __wakeup_seq;
+    __extension__ unsigned long long int __woken_seq;
     void *__mutex;
     unsigned int __nwaiters;
     unsigned int __broadcast_seq;
   } __data;
   char __size[__SIZEOF_PTHREAD_COND_T];
-  long long int __align;
+  __extension__ long long int __align;
 } pthread_cond_t;
 
 typedef union
index 914351a3e2cc065d5f360a899f1379e9f7f5ce82..5125408dcbe5d3c4b6eea17db9e89be071e34d69 100644 (file)
@@ -78,15 +78,15 @@ typedef union
   {
     int __lock;
     unsigned int __futex;
-    unsigned long long int __total_seq;
-    unsigned long long int __wakeup_seq;
-    unsigned long long int __woken_seq;
+    __extension__ unsigned long long int __total_seq;
+    __extension__ unsigned long long int __wakeup_seq;
+    __extension__ unsigned long long int __woken_seq;
     void *__mutex;
     unsigned int __nwaiters;
     unsigned int __broadcast_seq;
   } __data;
   char __size[__SIZEOF_PTHREAD_COND_T];
-  long long int __align;
+  __extension__ long long int __align;
 } pthread_cond_t;
 
 typedef union
index c894f12495b4a0d84ba2d9ad2f52f736a77f96c1..3c5a289445ed76d2de9f8b5f01cbd33572630eca 100644 (file)
@@ -97,15 +97,15 @@ typedef union
   {
     int __lock;
     unsigned int __futex;
-    unsigned long long int __total_seq;
-    unsigned long long int __wakeup_seq;
-    unsigned long long int __woken_seq;
+    __extension__ unsigned long long int __total_seq;
+    __extension__ unsigned long long int __wakeup_seq;
+    __extension__ unsigned long long int __woken_seq;
     void *__mutex;
     unsigned int __nwaiters;
     unsigned int __broadcast_seq;
   } __data;
   char __size[__SIZEOF_PTHREAD_COND_T];
-  long long int __align;
+  __extension__ long long int __align;
 } pthread_cond_t;
 
 typedef union
index 6b996a412a3d4fe6d81ea484240d85e20d1e06ab..03c2ef8106dc0b4c62de2ef37e024ca64af3e92b 100644 (file)
@@ -96,15 +96,15 @@ typedef union
   {
     int __lock;
     unsigned int __futex;
-    unsigned long long int __total_seq;
-    unsigned long long int __wakeup_seq;
-    unsigned long long int __woken_seq;
+    __extension__ unsigned long long int __total_seq;
+    __extension__ unsigned long long int __wakeup_seq;
+    __extension__ unsigned long long int __woken_seq;
     void *__mutex;
     int __nwaiters;
     unsigned int __broadcast_seq;
   } __data;
   char __size[__SIZEOF_PTHREAD_COND_T];
-  long long int __align;
+  __extension__ long long int __align;
 } pthread_cond_t;
 
 typedef union
index 627fe8cf9d739715f9d1e999510d0c7acd6f902d..a9eac48ac8183348067661cdeb67aa5fe837a1d3 100644 (file)
@@ -38,7 +38,7 @@ libc_locked_map_ptr (map_handle);
 /* Note that we only free the structure if necessary.  The memory
    mapping is not removed since it is not visible to the malloc
    handling.  */
-libc_freeres_fn (gr_map_free)
+libc_freeres_fn (ai_map_free)
 {
 
   if (map_handle.mapped != NO_MAPPING)
@@ -63,7 +63,7 @@ __nscd_getai (const char *key, struct nscd_ai_result **result, int *h_errnop)
   struct mapped_database *mapped = __nscd_get_map_ref (GETFDHST, "hosts",
                                                       &map_handle, &gc_cycle);
  retry:
-  if (mapped != MAP_FAILED)
+  if (mapped != NO_MAPPING)
     {
       const struct datahead *found = __nscd_cache_search (GETAI, key, keylen,
                                                          mapped);
@@ -86,7 +86,7 @@ __nscd_getai (const char *key, struct nscd_ai_result **result, int *h_errnop)
        {
          /* nscd not running or wrong version or hosts caching disabled.  */
          __nss_not_use_nscd_hosts = 1;
-         goto out;;
+         goto out;
        }
 
       ai_resp = &ai_resp_mem;
index e758f9e3ffe3633a26cc99fee843904eb3435c03..372d46c79a0c86eea29fc5089cd0bb3a8da3ad10 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1994,1996-2001,2003 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1994,1996-2001,2003,2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -30,7 +30,7 @@ __BEGIN_DECLS
 #include <signal.h>
 #include <sys/resource.h>
 
-/* These macros could also be defined int <stdlib.h>.  */
+/* These macros could also be defined in <stdlib.h>.  */
 #if !defined _STDLIB_H || !defined __USE_XOPEN
 /* This will define the `W*' macros for the flag
    bits to `waitpid', `wait3', and `wait4'.  */
@@ -84,6 +84,9 @@ typedef union
 # define WIFEXITED(status)     __WIFEXITED(__WAIT_INT(status))
 # define WIFSIGNALED(status)   __WIFSIGNALED(__WAIT_INT(status))
 # define WIFSTOPPED(status)    __WIFSTOPPED(__WAIT_INT(status))
+# ifdef __WIFCONTINUED
+#  define WIFCONTINUED(status) __WIFCONTINUED(__WAIT_INT(status))
+# endif
 #endif /* <stdlib.h> not included.  */
 
 #ifdef __USE_BSD
index 3e81d7a0ac0cc30602efb6568df08754d58f1349..642d529a9a965de1ea3fbc95435b8f915ac8a35f 100644 (file)
@@ -335,6 +335,77 @@ do_test (int argc, char *argv[])
               info.si_signo);
       RETURN (EXIT_FAILURE);
     }
+
+  /* Now stop him again and test waitpid with WCONTINUED.  */
+  expecting_sigchld = 1;
+  if (kill (pid, SIGSTOP) != 0)
+    {
+      error (0, errno, "kill (%d, SIGSTOP)", pid);
+      RETURN (EXIT_FAILURE);
+    }
+  pid_t wpid = waitpid (pid, &fail, WUNTRACED);
+  if (wpid < 0)
+    {
+      error (0, errno, "waitpid WUNTRACED on stopped");
+      RETURN (EXIT_FAILURE);
+    }
+  else if (wpid != pid)
+    {
+      error (0, 0,
+            "waitpid WUNTRACED on stopped returned %d != %d (status %x)",
+            wpid, pid, fail);
+      RETURN (EXIT_FAILURE);
+    }
+  else if (!WIFSTOPPED (fail) || WIFSIGNALED (fail) || WIFEXITED (fail)
+          || WIFCONTINUED (fail) || WSTOPSIG (fail) != SIGSTOP)
+    {
+      error (0, 0, "waitpid WUNTRACED on stopped: status %x", fail);
+      RETURN (EXIT_FAILURE);
+    }
+  CHECK_SIGCHLD ("stopped", CLD_STOPPED, SIGSTOP);
+
+  expecting_sigchld = 1;
+  if (kill (pid, SIGCONT) != 0)
+    {
+      error (0, errno, "kill (%d, SIGCONT)", pid);
+      RETURN (EXIT_FAILURE);
+    }
+
+  /* Wait for the child to have continued.  */
+  sleep (2);
+
+  if (expecting_sigchld)
+    {
+      error (0, 0, "no SIGCHLD seen for SIGCONT (optional)");
+      expecting_sigchld = 0;
+    }
+  else
+    CHECK_SIGCHLD ("continued", CLD_CONTINUED, SIGCONT);
+
+  wpid = waitpid (pid, &fail, WCONTINUED);
+  if (wpid < 0)
+    {
+      if (errno == EINVAL)
+       error (0, 0, "waitpid does not support WCONTINUED");
+      else
+       {
+         error (0, errno, "waitpid WCONTINUED on continued");
+         RETURN (EXIT_FAILURE);
+       }
+    }
+  else if (wpid != pid)
+    {
+      error (0, 0,
+            "waitpid WCONTINUED on continued returned %d != %d (status %x)",
+            wpid, pid, fail);
+      RETURN (EXIT_FAILURE);
+    }
+  else if (WIFSTOPPED (fail) || WIFSIGNALED (fail) || WIFEXITED (fail)
+          || !WIFCONTINUED (fail))
+    {
+      error (0, 0, "waitpid WCONTINUED on continued: status %x", fail);
+      RETURN (EXIT_FAILURE);
+    }
 #endif
 
   expecting_sigchld = 1;
index dc0c712df7cef6f8fc6041c89cd4b1b4b0fb3ab4..e4f79369a6d9578cfe1f66fd33d80c543a0c58dd 100644 (file)
@@ -88,6 +88,9 @@ typedef union
 # define WIFEXITED(status)     __WIFEXITED(__WAIT_INT(status))
 # define WIFSIGNALED(status)   __WIFSIGNALED(__WAIT_INT(status))
 # define WIFSTOPPED(status)    __WIFSTOPPED(__WAIT_INT(status))
+# ifdef __WIFCONTINUED
+#  define WIFCONTINUED(status) __WIFCONTINUED(__WAIT_INT(status))
+# endif
 #endif /* X/Open and <sys/wait.h> not included.  */
 
 __BEGIN_NAMESPACE_STD
index 6431324f3e9cea92912e6942f256e6f95ad662d8..284e355cc3b71af4a3e6d7b204fe510fcd5a082d 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 1994-2001, 2002, 2003 Free Software Foundation, Inc.
+# Copyright (C) 1994-2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -85,6 +85,8 @@ all: # Make this the default target; it will be defined in Rules.
 
 include ../Makeconfig
 
+xtests := tst-getmyaddr
+
 ifeq ($(have-thread-library),yes)
 xtests += thrsvc
 endif
index b800172e0825883e583db89cd5ecf925144afc1e..cddf188766a234bcdff8335519ad22212b7d0197 100644 (file)
@@ -113,4 +113,7 @@ libc {
     __rpc_thread_svc_fdset; __rpc_thread_createerr;
     __rpc_thread_svc_pollfd; __rpc_thread_svc_max_pollfd;
   }
+  GLIBC_2.3.4 {
+    xdr_quad_t; xdr_u_quad_t;
+  }
 }
index ee822970f9e07b3987a5fe5bdf9ef25bf1ad546f..c0beee9c5954033ecb303f504f24639b0664dc5e 100644 (file)
@@ -63,7 +63,7 @@ get_myaddress (struct sockaddr_in *addr)
 {
   struct ifaddrs *ifa;
 
-  if (getifaddrs (&ifa) == 0)
+  if (getifaddrs (&ifa) != 0)
     {
       perror ("get_myaddress: getifaddrs");
       exit (1);
index c968511e96232de205919b488019048c111a02db..aa5740c8a0b09f8af840b6a08e50048b43dcd843 100644 (file)
@@ -57,7 +57,7 @@ __get_myaddress (struct sockaddr_in *addr)
 {
   struct ifaddrs *ifa;
 
-  if (getifaddrs (&ifa) == 0)
+  if (getifaddrs (&ifa) != 0)
     {
       perror ("get_myaddress: getifaddrs");
       exit (1);
index e446f5e6089e99567f21dcf034ed3576c1046a16..4ff707ad157b6f9a5379c656e21c286f1f553b7a 100644 (file)
@@ -179,7 +179,7 @@ getbroadcastnets (struct in_addr *addrs, int naddrs)
 {
   struct ifaddrs *ifa;
 
-  if (getifaddrs (&ifa) == 0)
+  if (getifaddrs (&ifa) != 0)
     {
       perror ("broadcast: getifaddrs");
       return 0;
index 64ac42fc5b1120074e5856fe6ba53859c3c4b16d..ba9691d1afce756de556f923ae9184cc35c91fe8 100644 (file)
@@ -303,6 +303,8 @@ extern bool_t xdr_int32_t (XDR *__xdrs, int32_t *__ip) __THROW;
 extern bool_t xdr_uint32_t (XDR *__xdrs, uint32_t *__up) __THROW;
 extern bool_t xdr_int64_t (XDR *__xdrs, int64_t *__ip) __THROW;
 extern bool_t xdr_uint64_t (XDR *__xdrs, uint64_t *__up) __THROW;
+extern bool_t xdr_quad_t (XDR *__xdrs, quad_t *__ip) __THROW;
+extern bool_t xdr_u_quad_t (XDR *__xdrs, u_quad_t *__up) __THROW;
 extern bool_t xdr_bool (XDR *__xdrs, bool_t *__bp) __THROW;
 extern bool_t xdr_enum (XDR *__xdrs, enum_t *__ep) __THROW;
 extern bool_t xdr_array (XDR * _xdrs, caddr_t *__addrp, u_int *__sizep,
index b036aa456d285f7ba8613cbca88088776fcbecf5..d6eda423095ff178140a2b64b502ccfba759e6ce 100644 (file)
@@ -621,10 +621,10 @@ get_type (const char **prefixp, const char **typep, defkind dkind)
       *typep = "long";
       (void) peekscan (TOK_INT, &tok);
       break;
-       case TOK_HYPER:
-         *typep = "int64_t";
+    case TOK_HYPER:
+      *typep = "quad_t";
       (void) peekscan(TOK_INT, &tok);
-         break;    
+      break;
     case TOK_VOID:
       if (dkind != DEF_UNION && dkind != DEF_PROGRAM)
        {
@@ -668,11 +668,11 @@ unsigned_dec (const char **typep)
       *typep = "u_long";
       (void) peekscan (TOK_INT, &tok);
       break;
-       case TOK_HYPER:
+    case TOK_HYPER:
       get_token (&tok);
-         *typep = "uint64_t";
+      *typep = "u_quad_t";
       (void) peekscan(TOK_INT, &tok);
-         break;    
+      break;
     case TOK_INT:
       get_token (&tok);
       *typep = "u_int";
diff --git a/sunrpc/tst-getmyaddr.c b/sunrpc/tst-getmyaddr.c
new file mode 100644 (file)
index 0000000..1eaf9b2
--- /dev/null
@@ -0,0 +1,24 @@
+#include <stdio.h>
+#include <string.h>
+#include <arpa/inet.h>
+#include <netinet/in.h>
+#include <rpc/clnt.h>
+
+
+static int
+do_test (void)
+{
+  struct sockaddr_in ad;
+  struct sockaddr_in ad2;
+  memset (&ad, '\0', sizeof (ad));
+  memset (&ad2, '\0', sizeof (ad2));
+
+  get_myaddress (&ad);
+
+  printf ("addr = %s:%d\n", inet_ntoa (ad.sin_addr), ad.sin_port);
+
+  return memcmp (&ad, &ad2, sizeof (ad)) == 0;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
index d36d1623bc2f82449f0cfe10b9d2e608044c1263..9d2f92e10d74bcc1774f93979c5e650c648646f6 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 1998, 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (c) 1998, 1999, 2000, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1998.
 
    02111-1307 USA.  */
 
 #include <rpc/types.h>
+
+/* We play dirty tricks with aliases.  */
+#define xdr_quad_t Xdr_quad_t
+#define xdr_u_quad_t Xdr_u_quad_t
 #include <rpc/xdr.h>
+#undef xdr_quad_t
+#undef xdr_u_quad_t
+
 
 /* XDR 64bit integers */
 bool_t
@@ -47,6 +54,7 @@ xdr_int64_t (XDR *xdrs, int64_t *ip)
       return FALSE;
     }
 }
+strong_alias (xdr_int64_t, xdr_quad_t)
 
 /* XDR 64bit unsigned integers */
 bool_t
@@ -75,6 +83,7 @@ xdr_uint64_t (XDR *xdrs, uint64_t *uip)
       return FALSE;
     }
 }
+strong_alias (xdr_int64_t, xdr_u_quad_t)
 
 /* XDR 32bit integers */
 bool_t
index 982c9dbb287d8175e386bd117e5d354ac85358bb..699c22498947a4f9be0243d5dbf16eb253418a94 100644 (file)
@@ -1,5 +1,5 @@
 /* Definitions of status bits for `wait' et al.
-   Copyright (C) 1992, 1994, 1996, 1997, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1992,1994,1996,1997,2000,2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
 #define        __WIFEXITED(status)     (__WTERMSIG(status) == 0)
 
 /* Nonzero if STATUS indicates termination by a signal.  */
-#ifdef __GNUC__
-# define __WIFSIGNALED(status) \
-  (__extension__ ({ int __status = (status);                                 \
-                   !__WIFSTOPPED(__status) && !__WIFEXITED(__status); }))
-#else  /* Not GCC.  */
-# define __WIFSIGNALED(status) (!__WIFSTOPPED(status) && !__WIFEXITED(status))
-#endif /* GCC.  */
+#define __WIFSIGNALED(status) \
+  (((signed char) (((status) & 0x7f) + 1) >> 1) > 0)
 
 /* Nonzero if STATUS indicates the child is stopped.  */
 #define        __WIFSTOPPED(status)    (((status) & 0xff) == 0x7f)
 
+/* Nonzero if STATUS indicates the child continued after a stop.  We only
+   define this if <bits/waitflags.h> provides the WCONTINUED flag bit.  */
+#ifdef WCONTINUED
+# define __WIFCONTINUED(status)        ((status) == __W_CONTINUED)
+#endif
+
 /* Nonzero if STATUS indicates the child dumped core.  */
 #define        __WCOREDUMP(status)     ((status) & __WCOREFLAG)
 
 /* Macros for constructing status values.  */
 #define        __W_EXITCODE(ret, sig)  ((ret) << 8 | (sig))
 #define        __W_STOPCODE(sig)       ((sig) << 8 | 0x7f)
+#define __W_CONTINUED          0xffff
 #define        __WCOREFLAG             0x80
 
 
index 5f91fa6bda0374f3e7e7fc184b1cbd99fede7545..95d52cf0c047ff2bb343024894f744a798363bd2 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,96,97,2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1991,96,97,2002,2003,2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -37,6 +37,10 @@ sigfillset (set)
 #ifdef SIGCANCEL
   __sigdelset (set, SIGCANCEL);
 #endif
+  /* Likewise for the signal to implement setxid.  */
+#ifdef SIGSETXID
+  __sigdelset (set, SIGSETXID);
+#endif
 
   return 0;
 }
index 4b5b8f22e7b2dfff0af25d2cb04e9cca03e78fb5..c48d9d325eaa07577e5d4c62d7031a03180a2493 100644 (file)
@@ -388,7 +388,7 @@ elf_machine_plt_value (struct link_map *map, const Elf32_Rel *reloc,
 /* Perform the relocation specified by RELOC and SYM (which is fully resolved).
    MAP is the object containing the reloc.  */
 
-static inline void
+auto inline void
 __attribute ((always_inline))
 elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
                 const Elf32_Sym *sym, const struct r_found_version *version,
@@ -533,7 +533,8 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
 }
 
 #ifndef RTLD_BOOTSTRAP
-static inline void
+auto inline void
+__attribute__ ((always_inline))
 elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
                  const Elf32_Sym *sym, const struct r_found_version *version,
                  void *const reloc_addr_arg)
@@ -639,7 +640,7 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
 }
 #endif /* !RTLD_BOOTSTRAP */
 
-static inline void
+auto inline void
 __attribute ((always_inline))
 elf_machine_rel_relative (Elf32_Addr l_addr, const Elf32_Rel *reloc,
                          void *const reloc_addr_arg)
@@ -650,7 +651,8 @@ elf_machine_rel_relative (Elf32_Addr l_addr, const Elf32_Rel *reloc,
 }
 
 #ifndef RTLD_BOOTSTRAP
-static inline void
+auto inline void
+__attribute__ ((always_inline))
 elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc,
                           void *const reloc_addr_arg)
 {
@@ -659,7 +661,8 @@ elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc,
 }
 #endif /* !RTLD_BOOTSTRAP */
 
-static inline void
+auto inline void
+__attribute__ ((always_inline))
 elf_machine_lazy_rel (struct link_map *map,
                      Elf32_Addr l_addr, const Elf32_Rel *reloc)
 {
@@ -680,7 +683,8 @@ elf_machine_lazy_rel (struct link_map *map,
 
 #ifndef RTLD_BOOTSTRAP
 
-static inline void
+auto inline void
+__attribute__ ((always_inline))
 elf_machine_lazy_rela (struct link_map *map,
                       Elf32_Addr l_addr, const Elf32_Rela *reloc)
 {
index 20e60de39337f56242698d1dd3343c21dd21786f..eb45709be1c47ab9ea1e6c990826f6eaec00bf7c 100644 (file)
@@ -556,6 +556,14 @@ gaih_inet (const char *name, const struct gaih_service *service,
            }
          else
            return -EAI_ADDRFAMILY;
+
+       dupname:
+         if (req->ai_flags & AI_CANONNAME)
+           {
+             canon = strdup (name);
+             if (canon == NULL)
+               return -EAI_MEMORY;
+           }
        }
 
       if (at->family == AF_UNSPEC)
@@ -603,6 +611,8 @@ gaih_inet (const char *name, const struct gaih_service *service,
                        return GAIH_OKIFUNSPEC | -EAI_NONAME;
                    }
                }
+
+             goto dupname;
            }
        }
 
index c3abe80de6e1ae3984b135e0513b56e1cca039b5..52d00e9da9432c42105a7a2ab7aaf7b10091308e 100644 (file)
@@ -93,7 +93,7 @@ typedef struct siginfo
          {
            void *si_addr;      /* Faulting insn/memory ref.  */
            int _si_imm;
-           int _si_pad0;
+           unsigned int _si_flags;
            unsigned long int _si_isr;
          } _sigfault;
 
@@ -124,6 +124,7 @@ typedef struct siginfo
 
 #ifdef __USE_GNU
 #  define si_imm       _sifields._sigfault._si_imm
+#  define si_flags     _sifields._sigfault._si_flags
 #  define si_isr       _sifields._sigfault._si_isr
 #endif
 
index e1b57566a5af2ea53639571f39be1731691fc740..1573780d8ee668726822c9e24b9ebb03ebd2e9cc 100644 (file)
@@ -43,12 +43,20 @@ __sigprocmask (how, set, oset)
 #ifdef SIGCANCEL
   sigset_t local_newmask;
 
-  /* The only thing we have to make sure here is that SIGCANCEL is not
-     blocked.  */
-  if (set != NULL && __builtin_expect (__sigismember (set, SIGCANCEL), 0))
+  /* The only thing we have to make sure here is that SIGCANCEL and
+     SIGSETXID are not blocked.  */
+  if (set != NULL
+      && (__builtin_expect (__sigismember (set, SIGCANCEL), 0)
+# ifdef SIGSETXID
+         || __builtin_expect (__sigismember (set, SIGSETXID), 0)
+# endif
+         ))
     {
       local_newmask = *set;
       __sigdelset (&local_newmask, SIGCANCEL);
+# ifdef SIGSETXID
+      __sigdelset (&local_newmask, SIGSETXID);
+# endif
       set = &local_newmask;
     }
 #endif
index 1705cb10bda0bbc7bd32f90e8cfb1b2e65eb5317..adeadc1587cbdd1eb5cb88166208e18d4490e638 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 2000, 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1997,1998,2000,2002,2003,2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -32,12 +32,20 @@ do_sigtimedwait (const sigset_t *set, siginfo_t *info,
 {
 #ifdef SIGCANCEL
   sigset_t tmpset;
-  if (set != NULL && __sigismember (set, SIGCANCEL))
+  if (set != NULL
+      && (__builtin_expect (__sigismember (set, SIGCANCEL), 0)
+# ifdef SIGSETXID
+         || __builtin_expect (__sigismember (set, SIGSETXID), 0)
+# endif
+         ))
     {
       /* Create a temporary mask without the bit for SIGCANCEL set.  */
       // We are not copying more than we have to.
       memcpy (&tmpset, set, _NSIG / 8);
       __sigdelset (&tmpset, SIGCANCEL);
+# ifdef SIGSETXID
+      __sigdelset (&tmpset, SIGSETXID);
+# endif
       set = &tmpset;
     }
 #endif
index f755928493d05255ac771610485a82209f179197..7c865963cdedd28e7a5da75b4a663d9041436229 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 2000, 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1997,1998,2000,2002,2003,2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -36,12 +36,20 @@ do_sigwait (const sigset_t *set, int *sig)
 
 #ifdef SIGCANCEL
   sigset_t tmpset;
-  if (set != NULL && __sigismember (set, SIGCANCEL))
+  if (set != NULL
+      && (__builtin_expect (__sigismember (set, SIGCANCEL), 0)
+# ifdef SIGSETXID
+         || __builtin_expect (__sigismember (set, SIGSETXID), 0)
+# endif
+         ))
     {
       /* Create a temporary mask without the bit for SIGCANCEL set.  */
       // We are not copying more than we have to.
       memcpy (&tmpset, set, _NSIG / 8);
       __sigdelset (&tmpset, SIGCANCEL);
+# ifdef SIGSETXID
+      __sigdelset (&tmpset, SIGSETXID);
+# endif
       set = &tmpset;
     }
 #endif
index a2dec820fc224e2dc308a5fcb5d4cb344312845d..a51a01f20bdce5a56497aa7d2153db3f5978f237 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 2000, 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1997,1998,2000,2002,2003,2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -33,12 +33,20 @@ do_sigwaitinfo (const sigset_t *set, siginfo_t *info)
 {
 #ifdef SIGCANCEL
   sigset_t tmpset;
-  if (set != NULL && __sigismember (set, SIGCANCEL))
+  if (set != NULL
+      && (__builtin_expect (__sigismember (set, SIGCANCEL), 0)
+# ifdef SIGSETXID
+         || __builtin_expect (__sigismember (set, SIGSETXID), 0)
+# endif
+         ))
     {
       /* Create a temporary mask without the bit for SIGCANCEL set.  */
       // We are not copying more than we have to.
       memcpy (&tmpset, set, _NSIG / 8);
       __sigdelset (&tmpset, SIGCANCEL);
+# ifdef SIGSETXID
+      __sigdelset (&tmpset, SIGSETXID);
+# endif
       set = &tmpset;
     }
 #endif
index 21226df37e201a3417b7fd2867d522efe88ded27..207c3d3453860c324cb9d592c40f495a76035eab 100644 (file)
@@ -47,10 +47,11 @@ do_waitid (idtype_t idtype, id_t id, siginfo_t *infop, int options)
 {
   static int waitid_works;
   if (waitid_works > 0)
-    return INLINE_SYSCALL (waitid, 4, idtype, id, infop, options);
+    return INLINE_SYSCALL (waitid, 5, idtype, id, infop, options, NULL);
   if (waitid_works == 0)
     {
-      int result = INLINE_SYSCALL (waitid, 4, idtype, id, infop, options);
+      int result = INLINE_SYSCALL (waitid, 5,
+                                  idtype, id, infop, options, NULL);
       if (result < 0 && errno == ENOSYS)
        waitid_works = -1;
       else