aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain/uClibc/patches-0.9.30.1/300-fix-ppoll.diff
blob: c2970daf69a45517e83f6858f58bd09c5be05743 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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)
 
la_LDFLAGS = -export-symbols-regex "^opkg_.*" - - - +libopkg_a_LIBADD = $(top_builddir)/libbb/libbb.a $(CURL_LIBS) $(GPGME_LIBS) $(OPENSSL_LIBS) $(PATHFINDER_LIBS) --- a/libbb/Makefile.am +++ b/libbb/Makefile.am @@ -2,9 +2,9 @@ BUILD_CPU=@build_cpu@ ALL_CFLAGS=-g -O -Wall -DHOST_CPU_STR=\"$(HOST_CPU)\" -DBUILD_CPU=@build_cpu@ -noinst_LTLIBRARIES = libbb.la +noinst_LIBRARIES = libbb.a -libbb_la_SOURCES = gz_open.c \ +libbb_a_SOURCES = gz_open.c \ libbb.h \ unzip.c \ wfopen.c \ --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -4,11 +4,11 @@ #noinst_PROGRAMS = libopkg_test opkg_active_list_test noinst_PROGRAMS = libopkg_test -#opkg_hash_test_LDADD = $(top_builddir)/libbb/libbb.la $(top_builddir)/libopkg/libopkg.la +#opkg_hash_test_LDADD = $(top_builddir)/libbb/libbb.a $(top_builddir)/libopkg/libopkg.a #opkg_hash_test_SOURCES = opkg_hash_test.c #opkg_hash_test_CFLAGS = $(ALL_CFLAGS) -I$(top_srcdir) -#opkg_extract_test_LDADD = $(top_builddir)/libbb/libbb.la $(top_builddir)/libopkg/libopkg.la +#opkg_extract_test_LDADD = $(top_builddir)/libbb/libbb.a $(top_builddir)/libopkg/libopkg.a #opkg_extract_test_SOURCES = opkg_extract_test.c #opkg_extract_test_CFLAGS = $(ALL_CFLAGS) -I$(top_srcdir) @@ -16,7 +16,7 @@ #opkg_active_list_test_SOURCES = opkg_active_list_test.c #opkg_active_list_test_CFLAGS = $(ALL_CFLAGS) -I$(top_srcdir) -libopkg_test_LDADD = $(top_builddir)/libopkg/libopkg.la +libopkg_test_LDADD = $(top_builddir)/libopkg/libopkg.a $(top_builddir)/libbb/libbb.a libopkg_test_SOURCE = libopkg_test.c libopkg_test_LDFLAGS = -static --- a/src/Makefile.am +++ b/src/Makefile.am @@ -2,5 +2,5 @@ bin_PROGRAMS = opkg-cl opkg_cl_SOURCES = opkg-cl.c -opkg_cl_LDADD = $(top_builddir)/libopkg/libopkg.la \ - $(top_builddir)/libbb/libbb.la +opkg_cl_LDADD = $(top_builddir)/libopkg/libopkg.a \ + $(top_builddir)/libbb/libbb.a