From 9ee5a028debee12df0e87a1acfa42b550a58b4c4 Mon Sep 17 00:00:00 2001 From: Carlos O'Donell Date: Feb 25 2016 21:55:08 +0000 Subject: Update F24 to glibc 2.23.1 official release. - Upgrading to an official release gives Fedora ABI guarantees from the community. --- diff --git a/.gitignore b/.gitignore index 71c3904..363c5cd 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/glibc-2.22-719-g1233be7.tar.gz +/glibc-2.23-5-gf0029f1.tar.gz diff --git a/glibc-ndebug-unused.patch b/glibc-ndebug-unused.patch new file mode 100644 index 0000000..fc4b8d8 --- /dev/null +++ b/glibc-ndebug-unused.patch @@ -0,0 +1,75 @@ +Short description: Remove build warning due to -NDEBUG usage for production. +Author(s): Carlos O'Donell +Origin: PATCH +Bug-RHEL: NA +Bug-Fedora: NA +Bug-Upstream: NA +Upstream status: not-submitted +# This is the same fix that went into the generic/dl-hash.h function. +# Really what needs to happen is someone needs to write a microbenchmark +# to show this function is slow and then remove it in favour of the +# generic C function. +Index: glibc-2.23-5-gf0029f1/sysdeps/i386/i686/dl-hash.h +=================================================================== +--- glibc-2.23-5-gf0029f1.orig/sysdeps/i386/i686/dl-hash.h ++++ glibc-2.23-5-gf0029f1/sysdeps/i386/i686/dl-hash.h +@@ -26,6 +26,7 @@ + would be much slower than the generic C implementation. So don't + use it. */ + static unsigned int ++__attribute__ ((__unused__)) + _dl_elf_hash (const char *name) + { + unsigned int result; +Index: glibc-2.23-5-gf0029f1/catgets/tst-catgets.c +=================================================================== +--- glibc-2.23-5-gf0029f1.orig/catgets/tst-catgets.c ++++ glibc-2.23-5-gf0029f1/catgets/tst-catgets.c +@@ -22,7 +22,7 @@ do_bz17905 (void) + { + char *buf; + struct rlimit rl; +- nl_catd result; ++ nl_catd result __attribute__ ((__unused__)); + + const int sz = 1024 * 1024; + +Index: glibc-2.23-5-gf0029f1/dlfcn/bug-dl-leaf-lib.c +=================================================================== +--- glibc-2.23-5-gf0029f1.orig/dlfcn/bug-dl-leaf-lib.c ++++ glibc-2.23-5-gf0029f1/dlfcn/bug-dl-leaf-lib.c +@@ -50,7 +50,7 @@ void check_val_fini (void) + + int lib_main (void) + { +- int ret; ++ int ret __attribute__ ((__unused__)); + void *hdl; + + /* Make sure the constructor sees the updated val. */ +Index: glibc-2.23-5-gf0029f1/math/atest-exp.c +=================================================================== +--- glibc-2.23-5-gf0029f1.orig/math/atest-exp.c ++++ glibc-2.23-5-gf0029f1/math/atest-exp.c +@@ -61,7 +61,7 @@ exp_mpn (mp1 ex, mp1 x) + unsigned n; + mp1 xp; + mp2 tmp; +- mp_limb_t chk; ++ mp_limb_t chk __attribute__ ((__unused__)); + mp1 tol; + + memset (xp, 0, sizeof (mp1)); +Index: glibc-2.23-5-gf0029f1/math/atest-exp2.c +=================================================================== +--- glibc-2.23-5-gf0029f1.orig/math/atest-exp2.c ++++ glibc-2.23-5-gf0029f1/math/atest-exp2.c +@@ -87,7 +87,7 @@ exp_mpn (mp1 ex, mp1 x) + unsigned int n; + mp1 xp; + mp2 tmp; +- mp_limb_t chk; ++ mp_limb_t chk __attribute__ ((__unused__)); + mp1 tol; + + memset (xp, 0, sizeof (mp1)); diff --git a/glibc-rh1252570.patch b/glibc-rh1252570.patch index 5e69e9a..228bb96 100644 --- a/glibc-rh1252570.patch +++ b/glibc-rh1252570.patch @@ -12,11 +12,11 @@ Date: Thu Feb 19 15:52:08 2015 +0100 setting nsaddr_list[].sin_family to zero. reverted: -Index: b/resolv/res_init.c +Index: glibc-2.23-39-g314f6de/resolv/res_init.c =================================================================== ---- a/resolv/res_init.c -+++ b/resolv/res_init.c -@@ -153,8 +153,10 @@ __res_vinit(res_state statp, int preinit +--- glibc-2.23-39-g314f6de.orig/resolv/res_init.c ++++ glibc-2.23-39-g314f6de/resolv/res_init.c +@@ -139,8 +139,10 @@ __res_vinit(res_state statp, int preinit char *cp, **pp; int n; char buf[BUFSIZ]; @@ -29,7 +29,7 @@ Index: b/resolv/res_init.c int haveenv = 0; int havesearch = 0; #ifdef RESOLVSORT -@@ -183,9 +185,15 @@ __res_vinit(res_state statp, int preinit +@@ -169,9 +171,15 @@ __res_vinit(res_state statp, int preinit statp->_flags = 0; statp->qhook = NULL; statp->rhook = NULL; @@ -47,7 +47,7 @@ Index: b/resolv/res_init.c /* Allow user to override the local domain definition */ if ((cp = getenv("LOCALDOMAIN")) != NULL) { -@@ -289,7 +297,11 @@ __res_vinit(res_state statp, int preinit +@@ -275,7 +283,11 @@ __res_vinit(res_state statp, int preinit continue; } /* read nameservers to query */ @@ -59,7 +59,7 @@ Index: b/resolv/res_init.c struct in_addr a; cp = buf + sizeof("nameserver") - 1; -@@ -297,12 +309,13 @@ __res_vinit(res_state statp, int preinit +@@ -283,12 +295,13 @@ __res_vinit(res_state statp, int preinit cp++; if ((*cp != '\0') && (*cp != '\n') && __inet_aton(cp, &a)) { @@ -76,7 +76,7 @@ Index: b/resolv/res_init.c } else { struct in6_addr a6; char *el; -@@ -344,11 +357,10 @@ __res_vinit(res_state statp, int preinit +@@ -330,11 +343,10 @@ __res_vinit(res_state statp, int preinit } } @@ -92,7 +92,7 @@ Index: b/resolv/res_init.c } } #endif -@@ -403,9 +415,10 @@ __res_vinit(res_state statp, int preinit +@@ -389,9 +401,10 @@ __res_vinit(res_state statp, int preinit continue; } } @@ -105,7 +105,7 @@ Index: b/resolv/res_init.c /* We try IPv6 servers again. */ statp->ipv6_unavail = false; } -@@ -594,7 +607,11 @@ __res_iclose(res_state statp, bool free_ +@@ -580,7 +593,11 @@ __res_iclose(res_state statp, bool free_ statp->_vcsock = -1; statp->_flags &= ~(RES_F_VC | RES_F_CONN); } @@ -117,7 +117,7 @@ Index: b/resolv/res_init.c if (statp->_u._ext.nsaddrs[ns]) { if (statp->_u._ext.nssocks[ns] != -1) { close_not_cancel_no_status(statp->_u._ext.nssocks[ns]); -@@ -605,6 +622,8 @@ __res_iclose(res_state statp, bool free_ +@@ -591,6 +608,8 @@ __res_iclose(res_state statp, bool free_ statp->_u._ext.nsaddrs[ns] = NULL; } } @@ -126,11 +126,11 @@ Index: b/resolv/res_init.c } libc_hidden_def (__res_iclose) -Index: b/resolv/res_send.c +Index: glibc-2.23-39-g314f6de/resolv/res_send.c =================================================================== ---- a/resolv/res_send.c -+++ b/resolv/res_send.c -@@ -176,7 +176,6 @@ evNowTime(struct timespec *res) { +--- glibc-2.23-39-g314f6de.orig/resolv/res_send.c ++++ glibc-2.23-39-g314f6de/resolv/res_send.c +@@ -193,7 +193,6 @@ evNowTime(struct timespec *res) { /* Forward. */ @@ -138,7 +138,7 @@ Index: b/resolv/res_send.c static int send_vc(res_state, const u_char *, int, const u_char *, int, u_char **, int *, int *, int, u_char **, -@@ -214,21 +213,20 @@ res_ourserver_p(const res_state statp, c +@@ -231,21 +230,20 @@ res_ourserver_p(const res_state statp, c in_port_t port = in4p->sin_port; in_addr_t addr = in4p->sin_addr.s_addr; @@ -166,7 +166,7 @@ Index: b/resolv/res_send.c (srv->sin6_port == inp->sin6_port) && !(memcmp(&srv->sin6_addr, &in6addr_any, sizeof (struct in6_addr)) && -@@ -378,48 +376,80 @@ __libc_res_nsend(res_state statp, const +@@ -397,48 +395,80 @@ __libc_res_nsend(res_state statp, const * If the ns_addr_list in the resolver context has changed, then * invalidate our cached copy and the associated timing data. */ @@ -264,7 +264,7 @@ Index: b/resolv/res_send.c } /* -@@ -428,37 +458,44 @@ __libc_res_nsend(res_state statp, const +@@ -447,37 +477,44 @@ __libc_res_nsend(res_state statp, const */ if (__builtin_expect ((statp->options & RES_ROTATE) != 0, 0) && (statp->options & RES_BLAST) == 0) { @@ -329,7 +329,7 @@ Index: b/resolv/res_send.c same_ns: #ifdef USE_HOOKS if (__glibc_unlikely (statp->qhook != NULL)) { -@@ -615,21 +652,6 @@ libresolv_hidden_def (res_nsend) +@@ -634,21 +671,6 @@ libresolv_hidden_def (res_nsend) /* Private */ @@ -348,19 +348,19 @@ Index: b/resolv/res_send.c - return (struct sockaddr *) (void *) &statp->nsaddr_list[n]; -} - - static int - send_vc(res_state statp, - const u_char *buf, int buflen, const u_char *buf2, int buflen2, -@@ -644,7 +666,7 @@ send_vc(res_state statp, - // XXX REMOVE - // int anssiz = *anssizp; - HEADER *anhp = (HEADER *) ans; + /* The send_vc function is responsible for sending a DNS query over TCP + to the nameserver numbered NS from the res_state STATP i.e. + EXT(statp).nssocks[ns]. The function supports sending both IPv4 and +@@ -730,7 +752,7 @@ send_vc(res_state statp, + const HEADER *hp = (HEADER *) buf; + const HEADER *hp2 = (HEADER *) buf2; + HEADER *anhp = (HEADER *) *ansp; - struct sockaddr *nsap = get_nsaddr (statp, ns); + struct sockaddr_in6 *nsap = EXT(statp).nsaddrs[ns]; int truncating, connreset, n; /* On some architectures compiler might emit a warning indicating 'resplen' may be used uninitialized. However if buf2 == NULL -@@ -677,8 +699,8 @@ send_vc(res_state statp, +@@ -763,8 +785,8 @@ send_vc(res_state statp, if (getpeername(statp->_vcsock, (struct sockaddr *)&peer, &size) < 0 || @@ -371,7 +371,7 @@ Index: b/resolv/res_send.c statp->_flags &= ~RES_F_VC; } } -@@ -687,19 +709,20 @@ send_vc(res_state statp, +@@ -773,19 +795,20 @@ send_vc(res_state statp, if (statp->_vcsock >= 0) __res_iclose(statp, false); @@ -396,7 +396,7 @@ Index: b/resolv/res_send.c __res_iclose(statp, false); return (0); } -@@ -906,7 +929,8 @@ static int +@@ -979,7 +1002,8 @@ static int reopen (res_state statp, int *terrno, int ns) { if (EXT(statp).nssocks[ns] == -1) { diff --git a/glibc.spec b/glibc.spec index aae1a86..6788a42 100644 --- a/glibc.spec +++ b/glibc.spec @@ -1,6 +1,6 @@ -%define glibcsrcdir glibc-2.22-719-g1233be7 -%define glibcversion 2.22.90 -%define glibcrelease 37%{?dist} +%define glibcsrcdir glibc-2.23-5-gf0029f1 +%define glibcversion 2.23.1 +%define glibcrelease 1%{?dist} # Pre-release tarballs are pulled in from git using a command that is # effectively: # @@ -257,6 +257,9 @@ Patch0058: glibc-bug-regex-gcc5.patch # Add C.UTF-8 locale into /usr/lib/locale/ Patch0059: glibc-c-utf8-locale.patch +# Add unused markers to fid -DNDEBUG build issues. +Patch0060: glibc-ndebug-unused.patch + ############################################################################## # # Patches from upstream @@ -293,14 +296,10 @@ Patch2034: glibc-aarch64-workaround-nzcv-clobber-in-tlsdesc.patch Patch2035: glibc-nsswitch-Add-group-merging-support.patch Patch2036: glibc-gcc-PR69537.patch -Patch2037: glibc-isinf-cxx11.patch # Upstream BZ 19573, patch reverts problematic commit Patch2099: glibc-rh1252570.patch -# CVE-2015-7547 -Patch2100: glibc-CVE-2015-7547.patch - # Upstream BZ 19581 Patch2101: glibc-rh1114591.patch @@ -697,10 +696,9 @@ cat /proc/meminfo %patch0059 -p1 %patch2035 -p1 %patch2036 -p1 -%patch2037 -p1 %patch2099 -p1 -%patch2100 -p1 %patch2101 -p1 +%patch0060 -p1 ############################################################################## # %%prep - Additional prep required... @@ -1967,6 +1965,9 @@ rm -f *.filelist* %endif %changelog +* Wed Feb 24 2016 Carlos O'Donell - 2.23.1-1 +- Update to glibc 2.23.1 release. + * Fri Feb 19 2016 Florian Weimer - 2.22.90-37 - Remove stray newline from Serbian locales (#1114591). diff --git a/series b/series index e3f70b9..e57e398 100644 --- a/series +++ b/series @@ -38,6 +38,6 @@ glibc-bug-regex-gcc5.patch -p1 --fuzz=0 glibc-c-utf8-locale.patch -p1 --fuzz=0 glibc-nsswitch-Add-group-merging-support.patch -p1 --fuzz=0 glibc-gcc-PR69537.patch -p1 --fuzz=0 -glibc-isinf-cxx11.patch -p1 --fuzz=0 glibc-rh1252570.patch -p1 --fuzz=0 -glibc-CVE-2015-7547.patch -p1 --fuzz=0 +glibc-rh1114591.patch -p1 --fuzz=0 +glibc-ndebug-unused.patch --fuzz=0 diff --git a/sources b/sources index 2151b4a..c5dc763 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -59f24ea4c6c662c064f54a64fca055a6 glibc-2.22-719-g1233be7.tar.gz +0db354a4b19a6ef8e73405b45732d8c5 glibc-2.23-5-gf0029f1.tar.gz