It will match kernel's sigset_t starting from 0.9.31. Please try attached patch. -- vda --- uClibc.0/libc/sysdeps/linux/common/ppoll.c +++ uClibc.1/libc/sysdeps/linux/common/ppoll.c @@ -17,6 +17,7 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ +#include <signal.h> #include <sys/syscall.h> #include <sys/poll.h> @@ -26,9 +27,9 @@ # define __NR___libc_ppoll __NR_ppoll static __always_inline -_syscall4(int, __libc_ppoll, struct pollfd *, fds, +_syscall5(int, __libc_ppoll, struct pollfd *, fds, nfds_t, nfds, const struct timespec *, timeout, - const __sigset_t *, sigmask) + const __sigset_t *, sigmask, size_t, sigsetsize) int ppoll (struct pollfd *fds, nfds_t nfds, const struct timespec *timeout, @@ -43,7 +44,7 @@ timeout = &tval; } - return __libc_ppoll(fds, nfds, timeout, sigmask); + return __libc_ppoll(fds, nfds, timeout, sigmask, _NSIG / 8); } libc_hidden_def(ppoll)