From 69895cfc0a7b28042ae78e21abdf435947e68f3f Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sat, 29 Jul 2017 04:56:20 +0200 Subject: [PATCH] uclibc: update to 1.0.26 Both patches applied upstream. The release contains mostly bugfixes and a basic sparc64 port. As the sparc64 port only contains support for static binaries, it will be not enabled in buildroot yet. Signed-off-by: Waldemar Brodkorb Signed-off-by: Thomas Petazzoni --- package/uclibc/0001-remove-__FAVOR_BSD.patch | 373 ------------------ ...h-sync-completely-with-GNU-C-library.patch | 52 --- package/uclibc/uclibc.hash | 2 +- package/uclibc/uclibc.mk | 2 +- 4 files changed, 2 insertions(+), 427 deletions(-) delete mode 100644 package/uclibc/0001-remove-__FAVOR_BSD.patch delete mode 100644 package/uclibc/0002-udp.h-sync-completely-with-GNU-C-library.patch diff --git a/package/uclibc/0001-remove-__FAVOR_BSD.patch b/package/uclibc/0001-remove-__FAVOR_BSD.patch deleted file mode 100644 index d65c36deb5..0000000000 --- a/package/uclibc/0001-remove-__FAVOR_BSD.patch +++ /dev/null @@ -1,373 +0,0 @@ -From 58a5ba12bffad5916d9897c2870fc483f1db8282 Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb -Date: Thu, 22 Jun 2017 22:20:20 +0200 -Subject: [PATCH] remove __FAVOR_BSD - -Remove __FAVOR_BSD and sync with GNU C library - -Some issues compiling knock application fixed. - -Reported-By: Thomas Petazzoni -Signed-off-by: Waldemar Brodkorb ---- - include/features.h | 10 ---- - include/netinet/tcp.h | 123 ++++++++++++++++++++++++++------------------------ - include/netinet/udp.h | 33 +++++++------- - include/setjmp.h | 10 +--- - include/signal.h | 18 ++------ - include/unistd.h | 30 ++---------- - 6 files changed, 88 insertions(+), 136 deletions(-) - -diff --git a/include/features.h b/include/features.h -index 3a99593..7dc913f 100644 ---- a/include/features.h -+++ b/include/features.h -@@ -78,7 +78,6 @@ - __USE_GNU Define GNU extensions. - __USE_REENTRANT Define reentrant/thread-safe *_r functions. - __USE_FORTIFY_LEVEL Additional security measures used, according to level. -- __FAVOR_BSD Favor 4.3BSD things in cases of conflict. - - The macros `__GNU_LIBRARY__', `__GLIBC__', and `__GLIBC_MINOR__' are - defined by this file unconditionally. `__GNU_LIBRARY__' is provided -@@ -115,7 +114,6 @@ - #undef __USE_GNU - #undef __USE_REENTRANT - #undef __USE_FORTIFY_LEVEL --#undef __FAVOR_BSD - #undef __KERNEL_STRICT_NAMES - - /* Suppress kernel-name space pollution unless user expressedly asks -@@ -155,14 +153,6 @@ - # define _DEFAULT_SOURCE 1 - #endif - --/* If _BSD_SOURCE was defined by the user, favor BSD over POSIX. */ --#if defined _BSD_SOURCE && \ -- !(defined _POSIX_SOURCE || defined _POSIX_C_SOURCE || \ -- defined _XOPEN_SOURCE || defined _XOPEN_SOURCE_EXTENDED || \ -- defined _GNU_SOURCE || defined _SVID_SOURCE) --# define __FAVOR_BSD 1 --#endif -- - /* If _GNU_SOURCE was defined by the user, turn on all the other features. */ - #ifdef _GNU_SOURCE - # undef _ISOC99_SOURCE -diff --git a/include/netinet/tcp.h b/include/netinet/tcp.h -index 04032bb..ade01cd 100644 ---- a/include/netinet/tcp.h -+++ b/include/netinet/tcp.h -@@ -65,75 +65,78 @@ - #ifdef __USE_MISC - # include - # include -+# include - --# ifdef __FAVOR_BSD --typedef u_int32_t tcp_seq; -+typedef uint32_t tcp_seq; - /* - * TCP header. - * Per RFC 793, September, 1981. - */ - struct tcphdr - { -- u_int16_t th_sport; /* source port */ -- u_int16_t th_dport; /* destination port */ -- tcp_seq th_seq; /* sequence number */ -- tcp_seq th_ack; /* acknowledgement number */ --# if __BYTE_ORDER == __LITTLE_ENDIAN -- u_int8_t th_x2:4; /* (unused) */ -- u_int8_t th_off:4; /* data offset */ --# endif --# if __BYTE_ORDER == __BIG_ENDIAN -- u_int8_t th_off:4; /* data offset */ -- u_int8_t th_x2:4; /* (unused) */ --# endif -- u_int8_t th_flags; --# define TH_FIN 0x01 --# define TH_SYN 0x02 --# define TH_RST 0x04 --# define TH_PUSH 0x08 --# define TH_ACK 0x10 --# define TH_URG 0x20 -- u_int16_t th_win; /* window */ -- u_int16_t th_sum; /* checksum */ -- u_int16_t th_urp; /* urgent pointer */ -+ __extension__ union -+ { -+ struct -+ { -+ uint16_t th_sport; /* source port */ -+ uint16_t th_dport; /* destination port */ -+ tcp_seq th_seq; /* sequence number */ -+ tcp_seq th_ack; /* acknowledgement number */ -+# if __BYTE_ORDER == __LITTLE_ENDIAN -+ uint8_t th_x2:4; /* (unused) */ -+ uint8_t th_off:4; /* data offset */ -+# endif -+# if __BYTE_ORDER == __BIG_ENDIAN -+ uint8_t th_off:4; /* data offset */ -+ uint8_t th_x2:4; /* (unused) */ -+# endif -+ uint8_t th_flags; -+# define TH_FIN 0x01 -+# define TH_SYN 0x02 -+# define TH_RST 0x04 -+# define TH_PUSH 0x08 -+# define TH_ACK 0x10 -+# define TH_URG 0x20 -+ uint16_t th_win; /* window */ -+ uint16_t th_sum; /* checksum */ -+ uint16_t th_urp; /* urgent pointer */ -+ }; -+ struct -+ { -+ uint16_t source; -+ uint16_t dest; -+ uint32_t seq; -+ uint32_t ack_seq; -+# if __BYTE_ORDER == __LITTLE_ENDIAN -+ uint16_t res1:4; -+ uint16_t doff:4; -+ uint16_t fin:1; -+ uint16_t syn:1; -+ uint16_t rst:1; -+ uint16_t psh:1; -+ uint16_t ack:1; -+ uint16_t urg:1; -+ uint16_t res2:2; -+# elif __BYTE_ORDER == __BIG_ENDIAN -+ uint16_t doff:4; -+ uint16_t res1:4; -+ uint16_t res2:2; -+ uint16_t urg:1; -+ uint16_t ack:1; -+ uint16_t psh:1; -+ uint16_t rst:1; -+ uint16_t syn:1; -+ uint16_t fin:1; -+# else -+# error "Adjust your defines" -+# endif -+ uint16_t window; -+ uint16_t check; -+ uint16_t urg_ptr; -+ }; -+ }; - }; - --# else /* !__FAVOR_BSD */ --struct tcphdr -- { -- u_int16_t source; -- u_int16_t dest; -- u_int32_t seq; -- u_int32_t ack_seq; --# if __BYTE_ORDER == __LITTLE_ENDIAN -- u_int16_t res1:4; -- u_int16_t doff:4; -- u_int16_t fin:1; -- u_int16_t syn:1; -- u_int16_t rst:1; -- u_int16_t psh:1; -- u_int16_t ack:1; -- u_int16_t urg:1; -- u_int16_t res2:2; --# elif __BYTE_ORDER == __BIG_ENDIAN -- u_int16_t doff:4; -- u_int16_t res1:4; -- u_int16_t res2:2; -- u_int16_t urg:1; -- u_int16_t ack:1; -- u_int16_t psh:1; -- u_int16_t rst:1; -- u_int16_t syn:1; -- u_int16_t fin:1; --# else --# error "Adjust your defines" --# endif -- u_int16_t window; -- u_int16_t check; -- u_int16_t urg_ptr; --}; --# endif /* __FAVOR_BSD */ -- - enum - { - TCP_ESTABLISHED = 1, -diff --git a/include/netinet/udp.h b/include/netinet/udp.h -index 7d49768..ac6f234 100644 ---- a/include/netinet/udp.h -+++ b/include/netinet/udp.h -@@ -52,27 +52,28 @@ - - - /* UDP header as specified by RFC 768, August 1980. */ --#ifdef __FAVOR_BSD - - struct udphdr - { -- u_int16_t uh_sport; /* source port */ -- u_int16_t uh_dport; /* destination port */ -- u_int16_t uh_ulen; /* udp length */ -- u_int16_t uh_sum; /* udp checksum */ -+ __extension__ union -+ { -+ struct -+ { -+ uint16_t uh_sport; /* source port */ -+ uint16_t uh_dport; /* destination port */ -+ uint16_t uh_ulen; /* udp length */ -+ uint16_t uh_sum; /* udp checksum */ -+ }; -+ struct -+ { -+ uint16_t source; -+ uint16_t dest; -+ uint16_t len; -+ uint16_t check; -+ }; -+ }; - }; - --#else -- --struct udphdr --{ -- u_int16_t source; -- u_int16_t dest; -- u_int16_t len; -- u_int16_t check; --}; --#endif -- - /* UDP socket options */ - #define UDP_CORK 1 /* Never send partially complete segments. */ - #define UDP_ENCAP 100 /* Set the socket to accept -diff --git a/include/setjmp.h b/include/setjmp.h -index 71c1d35..27cac95 100644 ---- a/include/setjmp.h -+++ b/include/setjmp.h -@@ -59,21 +59,13 @@ __END_NAMESPACE_STD - extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask) - __THROWNL; - --#ifndef __FAVOR_BSD - /* Store the calling environment in ENV, not saving the signal mask. - Return 0. */ - extern int _setjmp (struct __jmp_buf_tag __env[1]) __THROWNL; - - /* Do not save the signal mask. This is equivalent to the `_setjmp' - BSD function. */ --# define setjmp(env) _setjmp (env) --#else --/* We are in 4.3 BSD-compatibility mode in which `setjmp' -- saves the signal mask like `sigsetjmp (ENV, 1)'. We have to -- define a macro since ISO C says `setjmp' is one. */ --# define setjmp(env) setjmp (env) --#endif /* Favor BSD. */ -- -+#define setjmp(env) _setjmp (env) - - __BEGIN_NAMESPACE_STD - -diff --git a/include/signal.h b/include/signal.h -index 38292a7..d2d5e4a 100644 ---- a/include/signal.h -+++ b/include/signal.h -@@ -191,27 +191,15 @@ extern void psiginfo (const siginfo_t *__pinfo, const char *__s); - /* The `sigpause' function has two different interfaces. The original - BSD definition defines the argument as a mask of the signal, while - the more modern interface in X/Open defines it as the signal -- number. We go with the BSD version unless the user explicitly -- selects the X/Open version. -+ number. We go with the X/Open version. - - This function is a cancellation point and therefore not marked with - __THROW. */ --/*extern int __sigpause (int __sig_or_mask, int __is_sig);*/ -- --#ifdef __FAVOR_BSD --/* Set the mask of blocked signals to MASK, -- wait for a signal to arrive, and then restore the mask. */ --/*extern int sigpause (int __mask) __THROW __attribute_deprecated__; --# define sigpause(mask) __sigpause ((mask), 0)*/ --/* uClibc note: BSD sigpause is available as __bsd_sigpause. -- * It is intentionally not prototyped */ --#else --# ifdef __USE_XOPEN -+ -+# ifdef __USE_XOPEN_EXTENDED - /* Remove a signal from the signal mask and suspend the process. */ - extern int sigpause(int __sig); --/*# define sigpause(sig) __sigpause ((sig), 1)*/ - # endif --#endif - #endif /* __UCLIBC_SUSV4_LEGACY__ */ - - #if 0 /*def __USE_BSD*/ -diff --git a/include/unistd.h b/include/unistd.h -index 8e4daf6..f48ce21 100644 ---- a/include/unistd.h -+++ b/include/unistd.h -@@ -673,17 +673,8 @@ libc_hidden_proto(getpid) - /* Get the process ID of the calling process's parent. */ - extern __pid_t getppid (void) __THROW; - --/* Get the process group ID of the calling process. -- This function is different on old BSD. */ --#ifndef __FAVOR_BSD -+/* Get the process group ID of the calling process. */ - extern __pid_t getpgrp (void) __THROW; --#else --# ifdef __REDIRECT_NTH --extern __pid_t __REDIRECT_NTH (getpgrp, (__pid_t __pid), __getpgid); --# else --# define getpgrp __getpgid --# endif --#endif - - /* Get the process group ID of process PID. */ - extern __pid_t __getpgid (__pid_t __pid) __THROW; -@@ -698,7 +689,7 @@ extern __pid_t getpgid (__pid_t __pid) __THROW; - extern int setpgid (__pid_t __pid, __pid_t __pgid) __THROW; - libc_hidden_proto(setpgid) - --#if defined __USE_SVID || defined __USE_BSD || defined __USE_XOPEN_EXTENDED -+#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED - /* Both System V and BSD have `setpgrp' functions, but with different - calling conventions. The BSD function is the same as POSIX.1 `setpgid' - (above). The System V function takes no arguments and puts the calling -@@ -706,26 +697,13 @@ libc_hidden_proto(setpgid) - - New programs should always use `setpgid' instead. - -- The default in GNU is to provide the System V function. The BSD -- function is available under -D_BSD_SOURCE. */ -- --# ifndef __FAVOR_BSD -+ GNU provides the POSIX.1 function. */ - - /* Set the process group ID of the calling process to its own PID. - This is exactly the same as `setpgid (0, 0)'. */ - extern int setpgrp (void) __THROW; - --# else -- --/* Another name for `setpgid' (above). */ --# ifdef __REDIRECT_NTH --extern int __REDIRECT_NTH (setpgrp, (__pid_t __pid, __pid_t __pgrp), setpgid); --# else --# define setpgrp setpgid --# endif -- --# endif /* Favor BSD. */ --#endif /* Use SVID or BSD. */ -+#endif /* Use misc or X/Open. */ - - /* Create a new session with the calling process as its leader. - The process group IDs of the session and the calling process --- -2.1.4 - diff --git a/package/uclibc/0002-udp.h-sync-completely-with-GNU-C-library.patch b/package/uclibc/0002-udp.h-sync-completely-with-GNU-C-library.patch deleted file mode 100644 index 2eb2a27aaa..0000000000 --- a/package/uclibc/0002-udp.h-sync-completely-with-GNU-C-library.patch +++ /dev/null @@ -1,52 +0,0 @@ -From fcf3a1950dbdbcf7a600cf8ae0e4ea92c20f5af1 Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb -Date: Wed, 5 Jul 2017 23:02:59 +0200 -Subject: [PATCH] udp.h: sync completely with GNU C library - -Signed-off-by: Waldemar Brodkorb ---- - include/netinet/udp.h | 11 ++++++++--- - 1 file changed, 8 insertions(+), 3 deletions(-) - -diff --git a/include/netinet/udp.h b/include/netinet/udp.h -index ac6f23413..a4eb32d76 100644 ---- a/include/netinet/udp.h -+++ b/include/netinet/udp.h -@@ -1,4 +1,4 @@ --/* Copyright (C) 1991-1993,1995-1997,2004,2009 Free Software Foundation, Inc. -+/* Copyright (C) 1991-2017 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 -@@ -47,9 +47,8 @@ - #ifndef __NETINET_UDP_H - #define __NETINET_UDP_H 1 - --#include - #include -- -+#include - - /* UDP header as specified by RFC 768, August 1980. */ - -@@ -78,11 +77,17 @@ struct udphdr - #define UDP_CORK 1 /* Never send partially complete segments. */ - #define UDP_ENCAP 100 /* Set the socket to accept - encapsulated packets. */ -+#define UDP_NO_CHECK6_TX 101 /* Disable sending checksum for UDP -+ over IPv6. */ -+#define UDP_NO_CHECK6_RX 102 /* Disable accepting checksum for UDP -+ over IPv6. */ - - /* UDP encapsulation types */ - #define UDP_ENCAP_ESPINUDP_NON_IKE 1 /* draft-ietf-ipsec-nat-t-ike-00/01 */ - #define UDP_ENCAP_ESPINUDP 2 /* draft-ietf-ipsec-udp-encaps-06 */ - #define UDP_ENCAP_L2TPINUDP 3 /* rfc2661 */ -+#define UDP_ENCAP_GTP0 4 /* GSM TS 09.60 */ -+#define UDP_ENCAP_GTP1U 5 /* 3GPP TS 29.060 */ - - #define SOL_UDP 17 /* sockopt level for UDP */ - --- -2.11.0 - diff --git a/package/uclibc/uclibc.hash b/package/uclibc/uclibc.hash index 946d44c9c4..fcba474acd 100644 --- a/package/uclibc/uclibc.hash +++ b/package/uclibc/uclibc.hash @@ -1,2 +1,2 @@ # From https://uclibc-ng.org/ -sha256 a1208bd54fd8cbcc716140d985e228cf2f7e6265aa694c7f516fa6cb598808b2 uClibc-ng-1.0.25.tar.xz +sha256 d88470775192b01d278633953ccc9fecacd090e52f401d506a71add3e47d4694 uClibc-ng-1.0.26.tar.xz diff --git a/package/uclibc/uclibc.mk b/package/uclibc/uclibc.mk index f22d07855c..f235070b6c 100644 --- a/package/uclibc/uclibc.mk +++ b/package/uclibc/uclibc.mk @@ -4,7 +4,7 @@ # ################################################################################ -UCLIBC_VERSION = 1.0.25 +UCLIBC_VERSION = 1.0.26 UCLIBC_SOURCE = uClibc-ng-$(UCLIBC_VERSION).tar.xz UCLIBC_SITE = http://downloads.uclibc-ng.org/releases/$(UCLIBC_VERSION) UCLIBC_LICENSE = LGPL-2.1+ -- 2.30.2