[uClibc 0.9.29 0.9.30.1] Add the missing 5th arg to the ppoll syscall.
[openwrt-10.03/.git] / toolchain / uClibc / patches-0.9.29 / 300-fix-ppoll.diff
1
2 It will match kernel's sigset_t starting from 0.9.31.
3
4 Please try attached patch.
5 -- 
6 vda
7
8 diff -d -urpN uClibc.0/libc/sysdeps/linux/common/ppoll.c uClibc.1/libc/sysdeps/linux/common/ppoll.c
9 --- uClibc.0/libc/sysdeps/linux/common/ppoll.c
10 +++ uClibc.1/libc/sysdeps/linux/common/ppoll.c
11 @@ -17,6 +17,7 @@
12     Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
13     02111-1307 USA.  */
14  
15 +#include <signal.h>
16  #include <sys/syscall.h>
17  #include <sys/poll.h>
18  
19 @@ -26,9 +27,9 @@
20  
21  # define __NR___libc_ppoll __NR_ppoll
22  static inline
23 -_syscall4(int, __libc_ppoll, struct pollfd *, fds,
24 +_syscall5(int, __libc_ppoll, struct pollfd *, fds,
25         nfds_t, nfds, const struct timespec *, timeout,
26 -       const __sigset_t *, sigmask);
27 +       const __sigset_t *, sigmask, size_t, sigsetsize)
28  
29  int
30  ppoll (struct pollfd *fds, nfds_t nfds, const struct timespec *timeout,
31 @@ -43,7 +44,7 @@
32        timeout = &tval;
33      }
34  
35 -  return __libc_ppoll(fds, nfds, timeout, sigmask);
36 +  return __libc_ppoll(fds, nfds, timeout, sigmask, _NSIG / 8);
37  }
38  libc_hidden_def(ppoll)
39