diff options
author | Patrick J Volkerding <volkerdi@slackware.com> | 2019-09-10 21:28:36 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2019-09-11 08:59:49 +0200 |
commit | 5ff08990e972ccd99e36e94e44746710b95adba4 (patch) | |
tree | 04a09ed3f52ba082354d61ba078cc9f12d3444ae /source/l/glibc | |
parent | f58aff2430624d43f64162ea66101f0ed804755f (diff) | |
download | current-5ff08990e972ccd99e36e94e44746710b95adba4.tar.gz |
Tue Sep 10 21:28:36 UTC 201920190910212836
a/glibc-solibs-2.30-x86_64-1.txz: Upgraded.
a/kernel-firmware-20190909_6c6918a-noarch-1.txz: Upgraded.
a/kernel-generic-4.19.72-x86_64-1.txz: Upgraded.
a/kernel-huge-4.19.72-x86_64-1.txz: Upgraded.
a/kernel-modules-4.19.72-x86_64-1.txz: Upgraded.
d/kernel-headers-4.19.72-x86-1.txz: Upgraded.
k/kernel-source-4.19.72-noarch-1.txz: Upgraded.
l/gdk-pixbuf2-2.38.2-x86_64-1.txz: Upgraded.
l/glibc-2.30-x86_64-1.txz: Upgraded.
l/glibc-i18n-2.30-x86_64-1.txz: Upgraded.
l/glibc-profile-2.30-x86_64-1.txz: Upgraded.
n/libmilter-8.15.2-x86_64-3.txz: Rebuilt.
Use gethostbyname2() since RES_USE_INET6 is removed in glibc-2.30.
n/libqmi-1.22.6-x86_64-1.txz: Upgraded.
n/postfix-3.4.6-x86_64-2.txz: Rebuilt.
Patched to fix removed macros in glibc-2.30.
n/yptools-2.14-x86_64-12.txz: Rebuilt.
Patched ypbind-mt for gettid() included in glibc-2.30.
xap/blackbox-0.75-x86_64-1.txz: Upgraded.
isolinux/initrd.img: Rebuilt.
kernels/*: Upgraded.
usb-and-pxe-installers/usbboot.img: Rebuilt.
Diffstat (limited to 'source/l/glibc')
5 files changed, 172 insertions, 20 deletions
diff --git a/source/l/glibc/glibc.SlackBuild b/source/l/glibc/glibc.SlackBuild index 0d153064..ba5c01f3 100755 --- a/source/l/glibc/glibc.SlackBuild +++ b/source/l/glibc/glibc.SlackBuild @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright 2006, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2006, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -20,14 +20,12 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -## build glibc-$VERSION for Slackware - cd $(dirname $0) ; CWD=$(pwd) PKGNAM=glibc VERSION=${VERSION:-$(echo glibc-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} CHECKOUT=${CHECKOUT:-""} -BUILD=${BUILD:-3} +BUILD=${BUILD:-1} # I was considering disabling NSCD, but MoZes talked me out of it. :) #DISABLE_NSCD=" --disable-nscd " @@ -157,6 +155,10 @@ apply_patches() { zcat $CWD/glibc-c-utf8-locale.patch.gz | patch -p1 --verbose || exit 1 # Don't use AM/PM format for date(1). That's just plain crazy. zcat $CWD/glibc-2.29.en_US.no.am.pm.date.format.diff.gz | patch -p1 --verbose || exit 1 + # Other regression fixes from git: + for git_patch in $CWD/patches/*.patch.gz ; do + zcat $git_patch | patch -p1 --verbose || exit 1 + done } # This is going to be the initial $DESTDIR: @@ -195,32 +197,27 @@ mkdir -p $PKG/var/run/nscd cd $TMP rm -rf glibc-$CVSVER tar xvf $CWD/glibc-$CVSVER.tar.xz \ + || tar xvf $CWD/glibc-$CVSVER.tar.lz \ || tar xvf $CWD/glibc-$CVSVER.tar.bz2 \ || tar xvf $CWD/glibc-$CVSVER.tar.gz cd glibc-$CVSVER -chown -R root:root . -find . -perm 666 -exec chmod 644 {} \; -find . -perm 664 -exec chmod 644 {} \; -find . -perm 600 -exec chmod 644 {} \; -find . -perm 444 -exec chmod 644 {} \; -find . -perm 400 -exec chmod 644 {} \; -find . -perm 440 -exec chmod 644 {} \; -find . -perm 777 -exec chmod 755 {} \; -find . -perm 775 -exec chmod 755 {} \; -find . -perm 511 -exec chmod 755 {} \; -find . -perm 711 -exec chmod 755 {} \; -find . -perm 555 -exec chmod 755 {} \; - -# Clean up leftover CVS directories: -find . -type d -name CVS -exec rm -r {} \; 2> /dev/null - # Apply patches; exit if any fail. apply_patches if [ ! $? = 0 ]; then exit 1 fi +# Clean up leftover CVS directories: +find . -type d -name CVS -exec rm -r {} \; 2> /dev/null + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + # Make build directory: mkdir build-glibc-$VERSION cd build-glibc-$VERSION || exit 1 diff --git a/source/l/glibc/patches/glibc.8a80ee5e2bab17a1f8e1e78fab5c33ac7efa8b29.patch b/source/l/glibc/patches/glibc.8a80ee5e2bab17a1f8e1e78fab5c33ac7efa8b29.patch new file mode 100644 index 00000000..2dbdbd9c --- /dev/null +++ b/source/l/glibc/patches/glibc.8a80ee5e2bab17a1f8e1e78fab5c33ac7efa8b29.patch @@ -0,0 +1,40 @@ +From 8a80ee5e2bab17a1f8e1e78fab5c33ac7efa8b29 Mon Sep 17 00:00:00 2001 +From: Paul Eggert <eggert@cs.ucla.edu> +Date: Wed, 21 Aug 2019 09:25:22 -0700 +Subject: [PATCH] Fix bad pointer / leak in regex code + +This was found by Coverity (CID 1484201). [BZ#24844] +* posix/regex_internal.c (create_cd_newstate): Fix use of bad +pointer and/or memory leak when storage is exhausted. + +diff --git a/posix/regex_internal.c b/posix/regex_internal.c +index 9004ce8..f53ded9 100644 +--- a/posix/regex_internal.c ++++ b/posix/regex_internal.c +@@ -1716,15 +1716,19 @@ create_cd_newstate (const re_dfa_t *dfa, const re_node_set *nodes, + { + if (newstate->entrance_nodes == &newstate->nodes) + { +- newstate->entrance_nodes = re_malloc (re_node_set, 1); +- if (__glibc_unlikely (newstate->entrance_nodes == NULL)) ++ re_node_set *entrance_nodes = re_malloc (re_node_set, 1); ++ if (__glibc_unlikely (entrance_nodes == NULL)) + { + free_state (newstate); + return NULL; + } ++ newstate->entrance_nodes = entrance_nodes; + if (re_node_set_init_copy (newstate->entrance_nodes, nodes) + != REG_NOERROR) +- return NULL; ++ { ++ free_state (newstate); ++ return NULL; ++ } + nctx_nodes = 0; + newstate->has_constraint = 1; + } +-- +2.9.3 + + diff --git a/source/l/glibc/patches/glibc.b0f6679bcd738ea244a14acd879d974901e56c8e.patch b/source/l/glibc/patches/glibc.b0f6679bcd738ea244a14acd879d974901e56c8e.patch new file mode 100644 index 00000000..24c22a39 --- /dev/null +++ b/source/l/glibc/patches/glibc.b0f6679bcd738ea244a14acd879d974901e56c8e.patch @@ -0,0 +1,28 @@ +From b0f6679bcd738ea244a14acd879d974901e56c8e Mon Sep 17 00:00:00 2001 +From: Florian Weimer <fweimer@redhat.com> +Date: Thu, 1 Aug 2019 14:06:24 +0200 +Subject: [PATCH] malloc: Remove unwanted leading whitespace in malloc_info [BZ + #24867] + +It was introduced in commit 6c8dbf00f536d78b1937b5af6f57be47fd376344 +("Reformat malloc to gnu style."). + +Reviewed-by: Carlos O'Donell <carlos@redhat.com> + +diff --git a/malloc/malloc.c b/malloc/malloc.c +index 00ce48c..343d89f 100644 +--- a/malloc/malloc.c ++++ b/malloc/malloc.c +@@ -5491,7 +5491,7 @@ __malloc_info (int options, FILE *fp) + + for (size_t i = 0; i < nsizes; ++i) + if (sizes[i].count != 0 && i != NFASTBINS) +- fprintf (fp, " \ ++ fprintf (fp, "\ + <size from=\"%zu\" to=\"%zu\" total=\"%zu\" count=\"%zu\"/>\n", + sizes[i].from, sizes[i].to, sizes[i].total, sizes[i].count); + +-- +2.9.3 + + diff --git a/source/l/glibc/patches/glibc.b6d2c4475d5abc05dd009575b90556bdd3c78ad0.patch b/source/l/glibc/patches/glibc.b6d2c4475d5abc05dd009575b90556bdd3c78ad0.patch new file mode 100644 index 00000000..b28c7943 --- /dev/null +++ b/source/l/glibc/patches/glibc.b6d2c4475d5abc05dd009575b90556bdd3c78ad0.patch @@ -0,0 +1,37 @@ +From b6d2c4475d5abc05dd009575b90556bdd3c78ad0 Mon Sep 17 00:00:00 2001 +From: =?utf8?q?Niklas=20Hamb=C3=BCchen?= <mail@nh2.me> +Date: Thu, 8 Aug 2019 22:02:27 +0200 +Subject: [PATCH] malloc: Fix missing accounting of top chunk in malloc_info + [BZ #24026] + +Fixes `<total type="rest" size="..."> incorrectly showing as 0 most +of the time. + +The rest value being wrong is significant because to compute the +actual amount of memory handed out via malloc, the user must subtract +it from <system type="current" size="...">. That result being wrong +makes investigating memory fragmentation issues like +<https://bugzilla.redhat.com/show_bug.cgi?id=843478> close to +impossible. + +diff --git a/malloc/malloc.c b/malloc/malloc.c +index 343d89f..0e65d63 100644 +--- a/malloc/malloc.c ++++ b/malloc/malloc.c +@@ -5406,6 +5406,12 @@ __malloc_info (int options, FILE *fp) + + __libc_lock_lock (ar_ptr->mutex); + ++ /* Account for top chunk. The top-most available chunk is ++ treated specially and is never in any bin. See "initial_top" ++ comments. */ ++ avail = chunksize (ar_ptr->top); ++ nblocks = 1; /* Top always exists. */ ++ + for (size_t i = 0; i < NFASTBINS; ++i) + { + mchunkptr p = fastbin (ar_ptr, i); +-- +2.9.3 + + diff --git a/source/l/glibc/patches/glibc.e1df30fbc2e2167a982c0e77a7ebee28f4dd0800.patch b/source/l/glibc/patches/glibc.e1df30fbc2e2167a982c0e77a7ebee28f4dd0800.patch new file mode 100644 index 00000000..d5dabb4a --- /dev/null +++ b/source/l/glibc/patches/glibc.e1df30fbc2e2167a982c0e77a7ebee28f4dd0800.patch @@ -0,0 +1,50 @@ +From e1df30fbc2e2167a982c0e77a7ebee28f4dd0800 Mon Sep 17 00:00:00 2001 +From: Adhemerval Zanella <adhemerval.zanella@linaro.org> +Date: Thu, 25 Jul 2019 11:22:17 -0300 +Subject: [PATCH] Get new entropy on each attempt __gen_tempname (BZ #15813) + +This is missing bit for fully fix BZ#15813 (the other two were fixed +by 359653aaacad463). + +Checked on x86_64-linux-gnu. + + [BZ #15813] + sysdeps/posix/tempname.c (__gen_tempname): get entrypy on each + attempt. + +diff --git a/sysdeps/posix/tempname.c b/sysdeps/posix/tempname.c +index de34694..310df3c 100644 +--- a/sysdeps/posix/tempname.c ++++ b/sysdeps/posix/tempname.c +@@ -186,7 +186,6 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, int kind) + { + int len; + char *XXXXXX; +- uint64_t value; + unsigned int count; + int fd = -1; + int save_errno = errno; +@@ -218,13 +217,13 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, int kind) + /* This is where the Xs start. */ + XXXXXX = &tmpl[len - 6 - suffixlen]; + +- /* Get some more or less random data. */ +- RANDOM_BITS (value); +- value ^= (uint64_t)__getpid () << 32; +- +- for (count = 0; count < attempts; value += 7777, ++count) ++ uint64_t pid = (uint64_t) __getpid () << 32; ++ for (count = 0; count < attempts; ++count) + { +- uint64_t v = value; ++ uint64_t v; ++ /* Get some more or less random data. */ ++ RANDOM_BITS (v); ++ v ^= pid; + + /* Fill in the random bits. */ + XXXXXX[0] = letters[v % 62]; +-- +2.9.3 + + |