diff --git a/_service b/_service index afda933..3f7f18c 100644 --- a/_service +++ b/_service @@ -1,6 +1,6 @@ - 2.24.90.%cd.g%h + 2.25.90.%cd.g%h git://sourceware.org/git/glibc git diff --git a/cpuid-assertion.patch b/cpuid-assertion.patch deleted file mode 100644 index f426ad5..0000000 --- a/cpuid-assertion.patch +++ /dev/null @@ -1,21 +0,0 @@ -2016-10-12 H.J. Lu - - [BZ #20647] - * sysdeps/x86/cacheinfo.c (handle_intel): Return -1 if the - maximum CPUID level is less than 2. - -Index: glibc-2.24/sysdeps/x86/cacheinfo.c -=================================================================== ---- glibc-2.24.orig/sysdeps/x86/cacheinfo.c -+++ glibc-2.24/sysdeps/x86/cacheinfo.c -@@ -259,7 +259,9 @@ intel_check_word (int name, unsigned int - static long int __attribute__ ((noinline)) - handle_intel (int name, unsigned int maxidx) - { -- assert (maxidx >= 2); -+ /* Return -1 for older CPUs. */ -+ if (maxidx < 2) -+ return -1; - - /* OK, we can use the CPUID instruction to get all info about the - caches. */ diff --git a/fnmatch-collating-elements.patch b/fnmatch-collating-elements.patch index 3546638..801c381 100644 --- a/fnmatch-collating-elements.patch +++ b/fnmatch-collating-elements.patch @@ -10,21 +10,6 @@ Fix fnmatch handling of collating elements (BZ #17396, BZ #16976) * posix/tst-fnmatch4.c: New file. * posix/tst-fnmatch5.c: New file. - * Makefile (LOCALES): Add es_US.UTF-8 and es_US.ISO-8859-1. - -Index: glibc-2.22/localedata/Makefile -=================================================================== ---- glibc-2.22.orig/localedata/Makefile -+++ glibc-2.22/localedata/Makefile -@@ -106,7 +106,7 @@ LOCALES := de_DE.ISO-8859-1 de_DE.UTF-8 - hr_HR.ISO-8859-2 sv_SE.ISO-8859-1 ja_JP.SJIS fr_FR.ISO-8859-1 \ - nb_NO.ISO-8859-1 nn_NO.ISO-8859-1 tr_TR.UTF-8 cs_CZ.UTF-8 \ - zh_TW.EUC-TW fa_IR.UTF-8 fr_FR.UTF-8 ja_JP.UTF-8 si_LK.UTF-8 \ -- tr_TR.ISO-8859-9 en_GB.UTF-8 uk_UA.UTF-8 -+ tr_TR.ISO-8859-9 en_GB.UTF-8 uk_UA.UTF-8 es_US.UTF-8 es_US.ISO-8859-1 - include ../gen-locales.mk - endif - Index: glibc-2.22/posix/Makefile =================================================================== --- glibc-2.22.orig/posix/Makefile @@ -34,9 +19,9 @@ Index: glibc-2.22/posix/Makefile tst-pathconf tst-getaddrinfo4 tst-rxspencer-no-utf8 \ tst-fnmatch3 bug-regex36 tst-getaddrinfo5 \ + tst-fnmatch4 tst-fnmatch5 \ - tst-posix_spawn-fd + tst-posix_spawn-fd \ + tst-posix_fadvise tst-posix_fadvise64 xtests := bug-ga2 - ifeq (yes,$(build-shared)) Index: glibc-2.22/posix/fnmatch.c =================================================================== --- glibc-2.22.orig/posix/fnmatch.c diff --git a/glibc-2.14-crypt.diff b/glibc-2.14-crypt.diff index 767ea1f..5afebd2 100644 --- a/glibc-2.14-crypt.diff +++ b/glibc-2.14-crypt.diff @@ -1,7 +1,7 @@ -Index: glibc-2.20/crypt/Makefile +Index: glibc-2.25/crypt/Makefile =================================================================== ---- glibc-2.20.orig/crypt/Makefile -+++ glibc-2.20/crypt/Makefile +--- glibc-2.25.orig/crypt/Makefile ++++ glibc-2.25/crypt/Makefile @@ -23,14 +23,18 @@ subdir := crypt include ../Makeconfig @@ -23,10 +23,10 @@ Index: glibc-2.20/crypt/Makefile ifeq ($(crypt-in-libc),yes) routines += $(libcrypt-routines) -Index: glibc-2.20/crypt/Versions +Index: glibc-2.25/crypt/Versions =================================================================== ---- glibc-2.20.orig/crypt/Versions -+++ glibc-2.20/crypt/Versions +--- glibc-2.25.orig/crypt/Versions ++++ glibc-2.25/crypt/Versions @@ -3,3 +3,8 @@ libcrypt { crypt; crypt_r; encrypt; encrypt_r; fcrypt; setkey; setkey_r; } @@ -36,10 +36,10 @@ Index: glibc-2.20/crypt/Versions + crypt_gensalt; crypt_gensalt_rn; crypt_gensalt_ra; + } +} -Index: glibc-2.20/crypt/crypt-entry.c +Index: glibc-2.25/crypt/crypt-entry.c =================================================================== ---- glibc-2.20.orig/crypt/crypt-entry.c -+++ glibc-2.20/crypt/crypt-entry.c +--- glibc-2.25.orig/crypt/crypt-entry.c ++++ glibc-2.25/crypt/crypt-entry.c @@ -71,7 +71,7 @@ extern struct crypt_data _ufc_foobar; */ @@ -49,23 +49,23 @@ Index: glibc-2.20/crypt/crypt-entry.c struct crypt_data * __restrict data) { ufc_long res[4]; -@@ -145,6 +145,7 @@ __crypt_r (key, salt, data) - _ufc_output_conversion_r (res[0], res[1], salt, data); +@@ -152,6 +152,7 @@ __crypt_r (const char *key, const char * + return data->crypt_3_buf; } +#if 0 weak_alias (__crypt_r, crypt_r) char * -@@ -187,3 +188,4 @@ __fcrypt (key, salt) +@@ -190,3 +191,4 @@ __fcrypt (const char *key, const char *s return crypt (key, salt); } #endif +#endif -Index: glibc-2.20/crypt/crypt-private.h +Index: glibc-2.25/crypt/crypt-private.h =================================================================== ---- glibc-2.20.orig/crypt/crypt-private.h -+++ glibc-2.20/crypt/crypt-private.h +--- glibc-2.25.orig/crypt/crypt-private.h ++++ glibc-2.25/crypt/crypt-private.h @@ -65,7 +65,7 @@ extern void __encrypt_r (char * __restri struct crypt_data * __restrict __data); @@ -75,11 +75,11 @@ Index: glibc-2.20/crypt/crypt-private.h struct crypt_data * __restrict __data); extern char *fcrypt (const char *key, const char *salt); -Index: glibc-2.20/shlib-versions +Index: glibc-2.25/shlib-versions =================================================================== ---- glibc-2.20.orig/shlib-versions -+++ glibc-2.20/shlib-versions -@@ -88,6 +88,7 @@ sh.*-.*-linux.* ld=ld-linux.so.2 GLIBC_ +--- glibc-2.25.orig/shlib-versions ++++ glibc-2.25/shlib-versions +@@ -58,6 +58,7 @@ libnsl=1 # This defines the shared library version numbers we will install. libcrypt=1 @@ -87,244 +87,10 @@ Index: glibc-2.20/shlib-versions # The gross patch for programs assuming broken locale implementations. libBrokenLocale=1 -Index: glibc-2.20/sysdeps/unix/sysv/linux/aarch64/libowcrypt.abilist +Index: glibc-2.25/sysdeps/unix/sysv/linux/libowcrypt.abilist =================================================================== --- /dev/null -+++ glibc-2.20/sysdeps/unix/sysv/linux/aarch64/libowcrypt.abilist -@@ -0,0 +1,4 @@ -+OW_CRYPT_1.0 OW_CRYPT_1.0 A -+OW_CRYPT_1.0 crypt_gensalt F -+OW_CRYPT_1.0 crypt_gensalt_ra F -+OW_CRYPT_1.0 crypt_gensalt_rn F -Index: glibc-2.20/sysdeps/unix/sysv/linux/alpha/libowcrypt.abilist -=================================================================== ---- /dev/null -+++ glibc-2.20/sysdeps/unix/sysv/linux/alpha/libowcrypt.abilist -@@ -0,0 +1,4 @@ -+OW_CRYPT_1.0 OW_CRYPT_1.0 A -+OW_CRYPT_1.0 crypt_gensalt F -+OW_CRYPT_1.0 crypt_gensalt_ra F -+OW_CRYPT_1.0 crypt_gensalt_rn F -Index: glibc-2.20/sysdeps/unix/sysv/linux/arm/libowcrypt.abilist -=================================================================== ---- /dev/null -+++ glibc-2.20/sysdeps/unix/sysv/linux/arm/libowcrypt.abilist -@@ -0,0 +1,4 @@ -+OW_CRYPT_1.0 OW_CRYPT_1.0 A -+OW_CRYPT_1.0 crypt_gensalt F -+OW_CRYPT_1.0 crypt_gensalt_ra F -+OW_CRYPT_1.0 crypt_gensalt_rn F -Index: glibc-2.20/sysdeps/unix/sysv/linux/hppa/libowcrypt.abilist -=================================================================== ---- /dev/null -+++ glibc-2.20/sysdeps/unix/sysv/linux/hppa/libowcrypt.abilist -@@ -0,0 +1,4 @@ -+OW_CRYPT_1.0 OW_CRYPT_1.0 A -+OW_CRYPT_1.0 crypt_gensalt F -+OW_CRYPT_1.0 crypt_gensalt_ra F -+OW_CRYPT_1.0 crypt_gensalt_rn F -Index: glibc-2.20/sysdeps/unix/sysv/linux/i386/libowcrypt.abilist -=================================================================== ---- /dev/null -+++ glibc-2.20/sysdeps/unix/sysv/linux/i386/libowcrypt.abilist -@@ -0,0 +1,4 @@ -+OW_CRYPT_1.0 OW_CRYPT_1.0 A -+OW_CRYPT_1.0 crypt_gensalt F -+OW_CRYPT_1.0 crypt_gensalt_ra F -+OW_CRYPT_1.0 crypt_gensalt_rn F -Index: glibc-2.20/sysdeps/unix/sysv/linux/ia64/libowcrypt.abilist -=================================================================== ---- /dev/null -+++ glibc-2.20/sysdeps/unix/sysv/linux/ia64/libowcrypt.abilist -@@ -0,0 +1,4 @@ -+OW_CRYPT_1.0 OW_CRYPT_1.0 A -+OW_CRYPT_1.0 crypt_gensalt F -+OW_CRYPT_1.0 crypt_gensalt_ra F -+OW_CRYPT_1.0 crypt_gensalt_rn F -Index: glibc-2.20/sysdeps/unix/sysv/linux/m68k/coldfire/libowcrypt.abilist -=================================================================== ---- /dev/null -+++ glibc-2.20/sysdeps/unix/sysv/linux/m68k/coldfire/libowcrypt.abilist -@@ -0,0 +1,4 @@ -+OW_CRYPT_1.0 OW_CRYPT_1.0 A -+OW_CRYPT_1.0 crypt_gensalt F -+OW_CRYPT_1.0 crypt_gensalt_ra F -+OW_CRYPT_1.0 crypt_gensalt_rn F -Index: glibc-2.20/sysdeps/unix/sysv/linux/m68k/m680x0/libowcrypt.abilist -=================================================================== ---- /dev/null -+++ glibc-2.20/sysdeps/unix/sysv/linux/m68k/m680x0/libowcrypt.abilist -@@ -0,0 +1,4 @@ -+OW_CRYPT_1.0 OW_CRYPT_1.0 A -+OW_CRYPT_1.0 crypt_gensalt F -+OW_CRYPT_1.0 crypt_gensalt_ra F -+OW_CRYPT_1.0 crypt_gensalt_rn F -Index: glibc-2.20/sysdeps/unix/sysv/linux/microblaze/libowcrypt.abilist -=================================================================== ---- /dev/null -+++ glibc-2.20/sysdeps/unix/sysv/linux/microblaze/libowcrypt.abilist -@@ -0,0 +1,4 @@ -+OW_CRYPT_1.0 OW_CRYPT_1.0 A -+OW_CRYPT_1.0 crypt_gensalt F -+OW_CRYPT_1.0 crypt_gensalt_ra F -+OW_CRYPT_1.0 crypt_gensalt_rn F -Index: glibc-2.20/sysdeps/unix/sysv/linux/mips/mips32/fpu/libowcrypt.abilist -=================================================================== ---- /dev/null -+++ glibc-2.20/sysdeps/unix/sysv/linux/mips/mips32/fpu/libowcrypt.abilist -@@ -0,0 +1,4 @@ -+OW_CRYPT_1.0 OW_CRYPT_1.0 A -+OW_CRYPT_1.0 crypt_gensalt F -+OW_CRYPT_1.0 crypt_gensalt_ra F -+OW_CRYPT_1.0 crypt_gensalt_rn F -Index: glibc-2.20/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libowcrypt.abilist -=================================================================== ---- /dev/null -+++ glibc-2.20/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libowcrypt.abilist -@@ -0,0 +1,4 @@ -+OW_CRYPT_1.0 OW_CRYPT_1.0 A -+OW_CRYPT_1.0 crypt_gensalt F -+OW_CRYPT_1.0 crypt_gensalt_ra F -+OW_CRYPT_1.0 crypt_gensalt_rn F -Index: glibc-2.20/sysdeps/unix/sysv/linux/mips/mips64/n32/libowcrypt.abilist -=================================================================== ---- /dev/null -+++ glibc-2.20/sysdeps/unix/sysv/linux/mips/mips64/n32/libowcrypt.abilist -@@ -0,0 +1,4 @@ -+OW_CRYPT_1.0 OW_CRYPT_1.0 A -+OW_CRYPT_1.0 crypt_gensalt F -+OW_CRYPT_1.0 crypt_gensalt_ra F -+OW_CRYPT_1.0 crypt_gensalt_rn F -Index: glibc-2.20/sysdeps/unix/sysv/linux/mips/mips64/n64/libowcrypt.abilist -=================================================================== ---- /dev/null -+++ glibc-2.20/sysdeps/unix/sysv/linux/mips/mips64/n64/libowcrypt.abilist -@@ -0,0 +1,4 @@ -+OW_CRYPT_1.0 OW_CRYPT_1.0 A -+OW_CRYPT_1.0 crypt_gensalt F -+OW_CRYPT_1.0 crypt_gensalt_ra F -+OW_CRYPT_1.0 crypt_gensalt_rn F -Index: glibc-2.20/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libowcrypt.abilist -=================================================================== ---- /dev/null -+++ glibc-2.20/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libowcrypt.abilist -@@ -0,0 +1,4 @@ -+OW_CRYPT_1.0 OW_CRYPT_1.0 A -+OW_CRYPT_1.0 crypt_gensalt F -+OW_CRYPT_1.0 crypt_gensalt_ra F -+OW_CRYPT_1.0 crypt_gensalt_rn F -Index: glibc-2.20/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libowcrypt.abilist -=================================================================== ---- /dev/null -+++ glibc-2.20/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libowcrypt.abilist -@@ -0,0 +1,4 @@ -+OW_CRYPT_1.0 OW_CRYPT_1.0 A -+OW_CRYPT_1.0 crypt_gensalt F -+OW_CRYPT_1.0 crypt_gensalt_ra F -+OW_CRYPT_1.0 crypt_gensalt_rn F -Index: glibc-2.20/sysdeps/unix/sysv/linux/powerpc/powerpc64/libowcrypt-le.abilist -=================================================================== ---- /dev/null -+++ glibc-2.20/sysdeps/unix/sysv/linux/powerpc/powerpc64/libowcrypt-le.abilist -@@ -0,0 +1,4 @@ -+OW_CRYPT_1.0 OW_CRYPT_1.0 A -+OW_CRYPT_1.0 crypt_gensalt F -+OW_CRYPT_1.0 crypt_gensalt_ra F -+OW_CRYPT_1.0 crypt_gensalt_rn F -Index: glibc-2.20/sysdeps/unix/sysv/linux/powerpc/powerpc64/libowcrypt.abilist -=================================================================== ---- /dev/null -+++ glibc-2.20/sysdeps/unix/sysv/linux/powerpc/powerpc64/libowcrypt.abilist -@@ -0,0 +1,4 @@ -+OW_CRYPT_1.0 OW_CRYPT_1.0 A -+OW_CRYPT_1.0 crypt_gensalt F -+OW_CRYPT_1.0 crypt_gensalt_ra F -+OW_CRYPT_1.0 crypt_gensalt_rn F -Index: glibc-2.20/sysdeps/unix/sysv/linux/s390/s390-32/libowcrypt.abilist -=================================================================== ---- /dev/null -+++ glibc-2.20/sysdeps/unix/sysv/linux/s390/s390-32/libowcrypt.abilist -@@ -0,0 +1,4 @@ -+OW_CRYPT_1.0 OW_CRYPT_1.0 A -+OW_CRYPT_1.0 crypt_gensalt F -+OW_CRYPT_1.0 crypt_gensalt_ra F -+OW_CRYPT_1.0 crypt_gensalt_rn F -Index: glibc-2.20/sysdeps/unix/sysv/linux/s390/s390-64/libowcrypt.abilist -=================================================================== ---- /dev/null -+++ glibc-2.20/sysdeps/unix/sysv/linux/s390/s390-64/libowcrypt.abilist -@@ -0,0 +1,4 @@ -+OW_CRYPT_1.0 OW_CRYPT_1.0 A -+OW_CRYPT_1.0 crypt_gensalt F -+OW_CRYPT_1.0 crypt_gensalt_ra F -+OW_CRYPT_1.0 crypt_gensalt_rn F -Index: glibc-2.20/sysdeps/unix/sysv/linux/sh/libowcrypt.abilist -=================================================================== ---- /dev/null -+++ glibc-2.20/sysdeps/unix/sysv/linux/sh/libowcrypt.abilist -@@ -0,0 +1,4 @@ -+OW_CRYPT_1.0 OW_CRYPT_1.0 A -+OW_CRYPT_1.0 crypt_gensalt F -+OW_CRYPT_1.0 crypt_gensalt_ra F -+OW_CRYPT_1.0 crypt_gensalt_rn F -Index: glibc-2.20/sysdeps/unix/sysv/linux/sparc/sparc32/libowcrypt.abilist -=================================================================== ---- /dev/null -+++ glibc-2.20/sysdeps/unix/sysv/linux/sparc/sparc32/libowcrypt.abilist -@@ -0,0 +1,4 @@ -+OW_CRYPT_1.0 OW_CRYPT_1.0 A -+OW_CRYPT_1.0 crypt_gensalt F -+OW_CRYPT_1.0 crypt_gensalt_ra F -+OW_CRYPT_1.0 crypt_gensalt_rn F -Index: glibc-2.20/sysdeps/unix/sysv/linux/sparc/sparc64/libowcrypt.abilist -=================================================================== ---- /dev/null -+++ glibc-2.20/sysdeps/unix/sysv/linux/sparc/sparc64/libowcrypt.abilist -@@ -0,0 +1,4 @@ -+OW_CRYPT_1.0 OW_CRYPT_1.0 A -+OW_CRYPT_1.0 crypt_gensalt F -+OW_CRYPT_1.0 crypt_gensalt_ra F -+OW_CRYPT_1.0 crypt_gensalt_rn F -Index: glibc-2.20/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libowcrypt.abilist -=================================================================== ---- /dev/null -+++ glibc-2.20/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libowcrypt.abilist -@@ -0,0 +1,4 @@ -+OW_CRYPT_1.0 OW_CRYPT_1.0 A -+OW_CRYPT_1.0 crypt_gensalt F -+OW_CRYPT_1.0 crypt_gensalt_ra F -+OW_CRYPT_1.0 crypt_gensalt_rn F -Index: glibc-2.20/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libowcrypt.abilist -=================================================================== ---- /dev/null -+++ glibc-2.20/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libowcrypt.abilist -@@ -0,0 +1,4 @@ -+OW_CRYPT_1.0 OW_CRYPT_1.0 A -+OW_CRYPT_1.0 crypt_gensalt F -+OW_CRYPT_1.0 crypt_gensalt_ra F -+OW_CRYPT_1.0 crypt_gensalt_rn F -Index: glibc-2.20/sysdeps/unix/sysv/linux/tile/tilepro/libowcrypt.abilist -=================================================================== ---- /dev/null -+++ glibc-2.20/sysdeps/unix/sysv/linux/tile/tilepro/libowcrypt.abilist -@@ -0,0 +1,4 @@ -+OW_CRYPT_1.0 OW_CRYPT_1.0 A -+OW_CRYPT_1.0 crypt_gensalt F -+OW_CRYPT_1.0 crypt_gensalt_ra F -+OW_CRYPT_1.0 crypt_gensalt_rn F -Index: glibc-2.20/sysdeps/unix/sysv/linux/x86_64/64/libowcrypt.abilist -=================================================================== ---- /dev/null -+++ glibc-2.20/sysdeps/unix/sysv/linux/x86_64/64/libowcrypt.abilist -@@ -0,0 +1,4 @@ -+OW_CRYPT_1.0 OW_CRYPT_1.0 A -+OW_CRYPT_1.0 crypt_gensalt F -+OW_CRYPT_1.0 crypt_gensalt_ra F -+OW_CRYPT_1.0 crypt_gensalt_rn F -Index: glibc-2.20/sysdeps/unix/sysv/linux/x86_64/x32/libowcrypt.abilist -=================================================================== ---- /dev/null -+++ glibc-2.20/sysdeps/unix/sysv/linux/x86_64/x32/libowcrypt.abilist ++++ glibc-2.25/sysdeps/unix/sysv/linux/libowcrypt.abilist @@ -0,0 +1,4 @@ +OW_CRYPT_1.0 OW_CRYPT_1.0 A +OW_CRYPT_1.0 crypt_gensalt F diff --git a/glibc-2.24.tar.xz b/glibc-2.24.tar.xz deleted file mode 100644 index 5c42f1e..0000000 --- a/glibc-2.24.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:99d4a3e8efd144d71488e478f62587578c0f4e1fa0b4eed47ee3d4975ebeb5d3 -size 13554048 diff --git a/glibc-2.24.tar.xz.sig b/glibc-2.24.tar.xz.sig deleted file mode 100644 index 6e4e2aa..0000000 --- a/glibc-2.24.tar.xz.sig +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1 - -iQIcBAABAgAGBQJXo1gPAAoJEBZ5K06iU0D4XQcP/3979bgeQZFIzdhhW9qDGf8y -3Zkij6WyytpSM0xm80bZCTD/4fkVYkiDOhgzfghrI0T3BQWitrQIUS4q94VtbeRk -i0QbPdYZ6xmnS56OcyxK+hdqr8XpGxRwfCZH+hCEbXjGblYiViXY54VSL2oWj6q9 -Lolyi7LoZZg3nM7Hf7/yEqa38eKq0N6654MXaVZi9wz31YHweJHsI1rdUkYEpWxp -YIc6eCmhZpyj09Vk7s4qriNqBXmBLZbAcqOAL7hzc1H4aRVGLWdR6JQAClOQtQ6b -SrW4/MO4re5coz1EYWJLpzkDOnH/pkhA0gPeM7PDm+3t2DJa/6k01Jljxjswfujf -EflmRw/FRG08/QADaBrtmu8s79/07xJUjf/qLhg0YIJL2aBqaVNkxSZhE+aOIOXD -FrqX+fVhG4FX2YlQ5twDSU+7Uc370Gh7b8QIEOVvd5Tllg52i200aMB2wlVO+Rl5 -oKN21dhbMzzQvJM9IxrBcWoymEE3kQXid+IBZxShg6JOEv9ZKpHKJGRtueJ1EM3R -V44rfJ5hVYn+U872lEgf2jf0w1A0aSMCVAX8N/8BO9NAZ9waM6IBgc3v1ng6uWdn -o4CdOHK6WP+GrbJ8Rbva8co16UHd9Ae1Vcwe5tDU7TxfFFkJ0RPVzVgTdl65+arX -VU1J1Kp1fBvbgwEacwxC -=yUZV ------END PGP SIGNATURE----- diff --git a/glibc-2.25.tar.xz b/glibc-2.25.tar.xz new file mode 100644 index 0000000..714c058 --- /dev/null +++ b/glibc-2.25.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:067bd9bb3390e79aa45911537d13c3721f1d9d3769931a30c2681bfee66f23a0 +size 13873900 diff --git a/glibc-2.25.tar.xz.sig b/glibc-2.25.tar.xz.sig new file mode 100644 index 0000000..25a8824 --- /dev/null +++ b/glibc-2.25.tar.xz.sig @@ -0,0 +1,10 @@ +-----BEGIN PGP SIGNATURE----- + +iQEcBAABAgAGBQJYl08CAAoJEHnEPfvxzyGHhWcH/2eIspxugXwMnM0YZm3fkzji +yJpu19zpYvfap+tTXJGiY/P6UrJSqHUCSssxWyWJQAbOov40IT/ySSg3DyWhyxra +6HTTOwjIGz/9KQwVdzm79LA+YhsOauowvdiYCS6XnTQbPMc7zBDsOIEAzp+vXNdl +KIzIe7XzUJnK9kl6oqBzXuzdA4jjjzZ2jqyMOwRypipkAXu7OgXO7TiEdN149eSs +2Owodmw9epP1omEK1KLo0N9QsG/+ioaHNfldtWzWNvxuRigAnwaaJTy5zVG7xJ45 +xVfsXaZQKFt4KPep1GF5jaZ30TWTvt5gyjOBiZa/+UfvEOXOt0ox/BB8ydlV/eg= +=HMRX +-----END PGP SIGNATURE----- diff --git a/glibc-testsuite.changes b/glibc-testsuite.changes index 12c7b52..e5af9bb 100644 --- a/glibc-testsuite.changes +++ b/glibc-testsuite.changes @@ -1,3 +1,105 @@ +------------------------------------------------------------------- +Sun Feb 5 18:26:21 UTC 2017 - schwab@suse.de + +- Update to glibc 2.25 + * The feature test macro __STDC_WANT_LIB_EXT2__, from ISO/IEC TR + 24731-2:2010, is supported to enable declarations of functions from that + TR. + * The feature test macro __STDC_WANT_IEC_60559_BFP_EXT__, from ISO/IEC TS + 18661-1:2014, is supported to enable declarations of functions and macros + from that TS. + * The feature test macro __STDC_WANT_IEC_60559_FUNCS_EXT__, from ISO/IEC TS + 18661-4:2015, is supported to enable declarations of functions and macros + from that TS. + * The nonstandard feature selection macros _REENTRANT and _THREAD_SAFE are + now treated as compatibility synonyms for _POSIX_C_SOURCE=199506L. + * The inclusion of by is deprecated. + * New features from TS 18661-1:2014 are added to libm: the + fesetexcept, fetestexceptflag, fegetmode and fesetmode functions, the + femode_t type and the FE_DFL_MODE and FE_SNANS_ALWAYS_SIGNAL macros. + * Integer width macros from TS 18661-1:2014 are added to : + CHAR_WIDTH, SCHAR_WIDTH, UCHAR_WIDTH, SHRT_WIDTH, USHRT_WIDTH, INT_WIDTH, + UINT_WIDTH, LONG_WIDTH, ULONG_WIDTH, LLONG_WIDTH, ULLONG_WIDTH; and to + : INT8_WIDTH, UINT8_WIDTH, INT16_WIDTH, UINT16_WIDTH, + INT32_WIDTH, UINT32_WIDTH, INT64_WIDTH, UINT64_WIDTH, INT_LEAST8_WIDTH, + UINT_LEAST8_WIDTH, INT_LEAST16_WIDTH, UINT_LEAST16_WIDTH, + INT_LEAST32_WIDTH, UINT_LEAST32_WIDTH, INT_LEAST64_WIDTH, + UINT_LEAST64_WIDTH, INT_FAST8_WIDTH, UINT_FAST8_WIDTH, INT_FAST16_WIDTH, + UINT_FAST16_WIDTH, INT_FAST32_WIDTH, UINT_FAST32_WIDTH, INT_FAST64_WIDTH, + UINT_FAST64_WIDTH, INTPTR_WIDTH, UINTPTR_WIDTH, INTMAX_WIDTH, + UINTMAX_WIDTH, PTRDIFF_WIDTH, SIG_ATOMIC_WIDTH, SIZE_WIDTH, WCHAR_WIDTH, + WINT_WIDTH. + * New features are added from TS 18661-1:2014: + - Signaling NaN macros: SNANF, SNAN, SNANL. + - Nearest integer functions: roundeven, roundevenf, roundevenl, fromfp, + fromfpf, fromfpl, ufromfp, ufromfpf, ufromfpl, fromfpx, fromfpxf, + fromfpxl, ufromfpx, ufromfpxf, ufromfpxl. + - llogb functions: the llogb, llogbf and llogbl functions, and the + FP_LLOGB0 and FP_LLOGBNAN macros. + - Max-min magnitude functions: fmaxmag, fmaxmagf, fmaxmagl, fminmag, + fminmagf, fminmagl. + - Comparison macros: iseqsig. + - Classification macros: iscanonical, issubnormal, iszero. + - Total order functions: totalorder, totalorderf, totalorderl, + totalordermag, totalordermagf, totalordermagl. + - Canonicalize functions: canonicalize, canonicalizef, canonicalizel. + - NaN functions: getpayload, getpayloadf, getpayloadl, setpayload, + setpayloadf, setpayloadl, setpayloadsig, setpayloadsigf, setpayloadsigl. + * The functions strfromd, strfromf, and strfroml, from ISO/IEC TS 18661-1:2014, + are added to libc. + * Most of glibc can now be built with the stack smashing protector enabled. + * The function explicit_bzero, from OpenBSD, has been added to libc. + * On ColdFire, MicroBlaze, Nios II and SH3, the float_t type is now defined + to float instead of double. + * On x86_64, when compiling with -mfpmath=387 or -mfpmath=sse+387, the + float_t and double_t types are now defined to long double instead of float + and double. + * The getentropy and getrandom functions, and the header file + have been added. + * The buffer size for byte-oriented stdio streams is now limited to 8192 + bytes by default. + * The header now includes the header. + * The malloc_get_state and malloc_set_state functions have been removed. + * The “ip6-dotint” and “no-ip6-dotint” resolver options, and the + corresponding RES_NOIP6DOTINT flag from have been removed. + * The "ip6-bytestring" resolver option and the corresponding RES_USEBSTRING + flag from have been removed. + * The flags RES_AAONLY, RES_PRIMARY, RES_NOCHECKNAME, RES_KEEPTSIG, + RES_BLAST defined in the header file have been deprecated. + * The "inet6" option in /etc/resolv.conf and the RES_USE_INET6 flag for + _res.flags are deprecated. + * DNSSEC-related declarations and definitions have been removed from the + header file, and libresolv will no longer attempt to + decode the data part of DNSSEC record types. + * The resource record type classification macros ns_t_qt_p, ns_t_mrr_p, + ns_t_rr_p, ns_t_udp_p, ns_t_xfr_p have been removed from the + header file because the distinction between RR types and + meta-RR types is not officially standardized, subject to revision, and + thus not suitable for encoding in a macro. + * The types res_sendhookact, res_send_qhook, re_send_rhook, and the qhook + and rhook members of the res_state type in have been removed. + * For multi-arch support it is recommended to use a GCC which has + been built with support for GNU indirect functions. + * GDB pretty printers have been added for mutex and condition variable + structures in POSIX Threads. + * Tunables feature added to allow tweaking of the runtime for an application + program. + * A new version of condition variables functions have been implemented in + the NPTL implementation of POSIX Threads to provide stronger ordering + guarantees. + * A new version of pthread_rwlock functions have been implemented to use a more + scalable algorithm primarily through not using a critical section anymore to + make state changes. + * On ARM EABI (32-bit), generating a backtrace for execution contexts which + have been created with makecontext could fail to terminate due to a + missing .cantunwind annotation. (CVE-2016-6323) + * The DNS stub resolver functions would crash due to a NULL pointer + dereference when processing a query with a valid DNS question type which + was used internally in the implementation. (CVE-2015-5180) +- Enable stack protector if part of %optflags +- startcontext-cantunwind.patch: Removed +- cpuid-assertion.patch: Removed + ------------------------------------------------------------------- Thu Oct 13 08:24:22 UTC 2016 - schwab@suse.de diff --git a/glibc-testsuite.spec b/glibc-testsuite.spec index d61bc08..972d3f3 100644 --- a/glibc-testsuite.spec +++ b/glibc-testsuite.spec @@ -1,7 +1,7 @@ # # spec file for package glibc-testsuite # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -36,6 +36,7 @@ Name: glibc-testsuite Summary: Standard Shared Libraries (from the GNU C Library) License: LGPL-2.1+ and SUSE-LGPL-2.1+-with-GCC-exception and GPL-2.0+ Group: System/Libraries +# UTILS-SUMMARY-END BuildRequires: audit-devel BuildRequires: fdupes BuildRequires: libcap-devel @@ -104,10 +105,10 @@ BuildRequires: gd-devel # 3.1 is the openSUSE 12.1 kernel %define enablekernel 3.0 -Version: 2.24 +Version: 2.25 Release: 0 %if !%{build_snapshot} -%define git_id beb0f59498c3 +%define git_id db0242e30234 %define libversion %version %else %define git_id %(echo %version | sed 's/.*\.g//') @@ -248,10 +249,6 @@ Patch306: glibc-fix-double-loopback.diff ### # Patches from upstream ### -# PATCH-FIX-UPSTREAM ARM: mark __startcontext as .cantunwind (BZ #20435) -Patch1000: startcontext-cantunwind.patch -# PATCH-FIX-UPSTREAM X86: Don't assert on older Intel CPUs (BZ #20647) -Patch1001: cpuid-assertion.patch ### # Patches awaiting upstream approval @@ -472,9 +469,6 @@ rm nscd/s-stamp %patch304 -p1 %patch306 -p1 -%patch1000 -p1 -%patch1001 -p1 - %patch2000 -p1 %patch2001 -p1 %patch2002 -p1 @@ -539,6 +533,14 @@ echo "#define GITID \"%{git_id}\"" >> version.h # Default CFLAGS and Compiler # BuildFlags="%{optflags} -U_FORTIFY_SOURCE" +enable_stack_protector= +for opt in $BuildFlags; do + case $opt in + -fstack-protector-strong) enable_stack_protector=strong ;; + -fstack-protector-all) enable_stack_protector=all ;; + -fstack-protector) enable_stack_protector=yes ;; + esac +done BuildFlags=$(echo $BuildFlags | sed -e 's#-fstack-protector[^ ]*##' -e 's#-ffortify=[0-9]*##') BuildCC="%__cc" BuildCCplus="%__cxx" @@ -621,9 +623,6 @@ configure_and_build_glibc() { --enable-add-ons=$add_ons \ $profile $elision \ "$@" \ -%if %{enable_stackguard_randomization} - --enable-stackguard-randomization \ -%endif --build=%{target} --host=%{target} \ %ifarch armv7hl ppc ppc64 ppc64le %{ix86} x86_64 sparc sparc64 s390 s390x --enable-multi-arch \ @@ -634,6 +633,11 @@ configure_and_build_glibc() { %ifarch ppc64p7 --with-cpu=power7 \ %endif +%if %{enable_stackguard_randomization} + --enable-stackguard-randomization \ +%endif + ${enable_stack_protector:+--enable-stack-protector=$enable_stack_protector} \ + --enable-tunables \ --enable-kernel=%{enablekernel} \ --with-bugurl=http://bugs.opensuse.org \ --enable-bind-now --enable-obsolete-rpc \ @@ -746,7 +750,7 @@ make -C cc-base -k check || { cd cc-base o=$- set +x - for sum in */*.sum; do + for sum in subdir-tests.sum */subdir-tests.sum; do while read s t; do case $s in XPASS:|PASS:) @@ -1292,6 +1296,7 @@ exit 0 %{_libdir}/libdl.a %{_libdir}/libm.a %ifarch x86_64 +%{_libdir}/libm-%{libversion}.a %{_libdir}/libmvec.a %endif %{_libdir}/libnsl.a diff --git a/glibc-utils.changes b/glibc-utils.changes index 12c7b52..e5af9bb 100644 --- a/glibc-utils.changes +++ b/glibc-utils.changes @@ -1,3 +1,105 @@ +------------------------------------------------------------------- +Sun Feb 5 18:26:21 UTC 2017 - schwab@suse.de + +- Update to glibc 2.25 + * The feature test macro __STDC_WANT_LIB_EXT2__, from ISO/IEC TR + 24731-2:2010, is supported to enable declarations of functions from that + TR. + * The feature test macro __STDC_WANT_IEC_60559_BFP_EXT__, from ISO/IEC TS + 18661-1:2014, is supported to enable declarations of functions and macros + from that TS. + * The feature test macro __STDC_WANT_IEC_60559_FUNCS_EXT__, from ISO/IEC TS + 18661-4:2015, is supported to enable declarations of functions and macros + from that TS. + * The nonstandard feature selection macros _REENTRANT and _THREAD_SAFE are + now treated as compatibility synonyms for _POSIX_C_SOURCE=199506L. + * The inclusion of by is deprecated. + * New features from TS 18661-1:2014 are added to libm: the + fesetexcept, fetestexceptflag, fegetmode and fesetmode functions, the + femode_t type and the FE_DFL_MODE and FE_SNANS_ALWAYS_SIGNAL macros. + * Integer width macros from TS 18661-1:2014 are added to : + CHAR_WIDTH, SCHAR_WIDTH, UCHAR_WIDTH, SHRT_WIDTH, USHRT_WIDTH, INT_WIDTH, + UINT_WIDTH, LONG_WIDTH, ULONG_WIDTH, LLONG_WIDTH, ULLONG_WIDTH; and to + : INT8_WIDTH, UINT8_WIDTH, INT16_WIDTH, UINT16_WIDTH, + INT32_WIDTH, UINT32_WIDTH, INT64_WIDTH, UINT64_WIDTH, INT_LEAST8_WIDTH, + UINT_LEAST8_WIDTH, INT_LEAST16_WIDTH, UINT_LEAST16_WIDTH, + INT_LEAST32_WIDTH, UINT_LEAST32_WIDTH, INT_LEAST64_WIDTH, + UINT_LEAST64_WIDTH, INT_FAST8_WIDTH, UINT_FAST8_WIDTH, INT_FAST16_WIDTH, + UINT_FAST16_WIDTH, INT_FAST32_WIDTH, UINT_FAST32_WIDTH, INT_FAST64_WIDTH, + UINT_FAST64_WIDTH, INTPTR_WIDTH, UINTPTR_WIDTH, INTMAX_WIDTH, + UINTMAX_WIDTH, PTRDIFF_WIDTH, SIG_ATOMIC_WIDTH, SIZE_WIDTH, WCHAR_WIDTH, + WINT_WIDTH. + * New features are added from TS 18661-1:2014: + - Signaling NaN macros: SNANF, SNAN, SNANL. + - Nearest integer functions: roundeven, roundevenf, roundevenl, fromfp, + fromfpf, fromfpl, ufromfp, ufromfpf, ufromfpl, fromfpx, fromfpxf, + fromfpxl, ufromfpx, ufromfpxf, ufromfpxl. + - llogb functions: the llogb, llogbf and llogbl functions, and the + FP_LLOGB0 and FP_LLOGBNAN macros. + - Max-min magnitude functions: fmaxmag, fmaxmagf, fmaxmagl, fminmag, + fminmagf, fminmagl. + - Comparison macros: iseqsig. + - Classification macros: iscanonical, issubnormal, iszero. + - Total order functions: totalorder, totalorderf, totalorderl, + totalordermag, totalordermagf, totalordermagl. + - Canonicalize functions: canonicalize, canonicalizef, canonicalizel. + - NaN functions: getpayload, getpayloadf, getpayloadl, setpayload, + setpayloadf, setpayloadl, setpayloadsig, setpayloadsigf, setpayloadsigl. + * The functions strfromd, strfromf, and strfroml, from ISO/IEC TS 18661-1:2014, + are added to libc. + * Most of glibc can now be built with the stack smashing protector enabled. + * The function explicit_bzero, from OpenBSD, has been added to libc. + * On ColdFire, MicroBlaze, Nios II and SH3, the float_t type is now defined + to float instead of double. + * On x86_64, when compiling with -mfpmath=387 or -mfpmath=sse+387, the + float_t and double_t types are now defined to long double instead of float + and double. + * The getentropy and getrandom functions, and the header file + have been added. + * The buffer size for byte-oriented stdio streams is now limited to 8192 + bytes by default. + * The header now includes the header. + * The malloc_get_state and malloc_set_state functions have been removed. + * The “ip6-dotint” and “no-ip6-dotint” resolver options, and the + corresponding RES_NOIP6DOTINT flag from have been removed. + * The "ip6-bytestring" resolver option and the corresponding RES_USEBSTRING + flag from have been removed. + * The flags RES_AAONLY, RES_PRIMARY, RES_NOCHECKNAME, RES_KEEPTSIG, + RES_BLAST defined in the header file have been deprecated. + * The "inet6" option in /etc/resolv.conf and the RES_USE_INET6 flag for + _res.flags are deprecated. + * DNSSEC-related declarations and definitions have been removed from the + header file, and libresolv will no longer attempt to + decode the data part of DNSSEC record types. + * The resource record type classification macros ns_t_qt_p, ns_t_mrr_p, + ns_t_rr_p, ns_t_udp_p, ns_t_xfr_p have been removed from the + header file because the distinction between RR types and + meta-RR types is not officially standardized, subject to revision, and + thus not suitable for encoding in a macro. + * The types res_sendhookact, res_send_qhook, re_send_rhook, and the qhook + and rhook members of the res_state type in have been removed. + * For multi-arch support it is recommended to use a GCC which has + been built with support for GNU indirect functions. + * GDB pretty printers have been added for mutex and condition variable + structures in POSIX Threads. + * Tunables feature added to allow tweaking of the runtime for an application + program. + * A new version of condition variables functions have been implemented in + the NPTL implementation of POSIX Threads to provide stronger ordering + guarantees. + * A new version of pthread_rwlock functions have been implemented to use a more + scalable algorithm primarily through not using a critical section anymore to + make state changes. + * On ARM EABI (32-bit), generating a backtrace for execution contexts which + have been created with makecontext could fail to terminate due to a + missing .cantunwind annotation. (CVE-2016-6323) + * The DNS stub resolver functions would crash due to a NULL pointer + dereference when processing a query with a valid DNS question type which + was used internally in the implementation. (CVE-2015-5180) +- Enable stack protector if part of %optflags +- startcontext-cantunwind.patch: Removed +- cpuid-assertion.patch: Removed + ------------------------------------------------------------------- Thu Oct 13 08:24:22 UTC 2016 - schwab@suse.de diff --git a/glibc-utils.spec b/glibc-utils.spec index 6fddc0d..7b04767 100644 --- a/glibc-utils.spec +++ b/glibc-utils.spec @@ -1,7 +1,7 @@ # # spec file for package glibc-utils # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -103,10 +103,10 @@ BuildRequires: gd-devel # 3.1 is the openSUSE 12.1 kernel %define enablekernel 3.0 -Version: 2.24 +Version: 2.25 Release: 0 %if !%{build_snapshot} -%define git_id beb0f59498c3 +%define git_id db0242e30234 %define libversion %version %else %define git_id %(echo %version | sed 's/.*\.g//') @@ -247,10 +247,6 @@ Patch306: glibc-fix-double-loopback.diff ### # Patches from upstream ### -# PATCH-FIX-UPSTREAM ARM: mark __startcontext as .cantunwind (BZ #20435) -Patch1000: startcontext-cantunwind.patch -# PATCH-FIX-UPSTREAM X86: Don't assert on older Intel CPUs (BZ #20647) -Patch1001: cpuid-assertion.patch ### # Patches awaiting upstream approval @@ -472,9 +468,6 @@ rm nscd/s-stamp %patch304 -p1 %patch306 -p1 -%patch1000 -p1 -%patch1001 -p1 - %patch2000 -p1 %patch2001 -p1 %patch2002 -p1 @@ -539,6 +532,14 @@ echo "#define GITID \"%{git_id}\"" >> version.h # Default CFLAGS and Compiler # BuildFlags="%{optflags} -U_FORTIFY_SOURCE" +enable_stack_protector= +for opt in $BuildFlags; do + case $opt in + -fstack-protector-strong) enable_stack_protector=strong ;; + -fstack-protector-all) enable_stack_protector=all ;; + -fstack-protector) enable_stack_protector=yes ;; + esac +done BuildFlags=$(echo $BuildFlags | sed -e 's#-fstack-protector[^ ]*##' -e 's#-ffortify=[0-9]*##') BuildCC="%__cc" BuildCCplus="%__cxx" @@ -621,9 +622,6 @@ configure_and_build_glibc() { --enable-add-ons=$add_ons \ $profile $elision \ "$@" \ -%if %{enable_stackguard_randomization} - --enable-stackguard-randomization \ -%endif --build=%{target} --host=%{target} \ %ifarch armv7hl ppc ppc64 ppc64le %{ix86} x86_64 sparc sparc64 s390 s390x --enable-multi-arch \ @@ -634,6 +632,11 @@ configure_and_build_glibc() { %ifarch ppc64p7 --with-cpu=power7 \ %endif +%if %{enable_stackguard_randomization} + --enable-stackguard-randomization \ +%endif + ${enable_stack_protector:+--enable-stack-protector=$enable_stack_protector} \ + --enable-tunables \ --enable-kernel=%{enablekernel} \ --with-bugurl=http://bugs.opensuse.org \ --enable-bind-now --enable-obsolete-rpc \ @@ -746,7 +749,7 @@ make -C cc-base -k check || { cd cc-base o=$- set +x - for sum in */*.sum; do + for sum in subdir-tests.sum */subdir-tests.sum; do while read s t; do case $s in XPASS:|PASS:) @@ -1292,6 +1295,7 @@ exit 0 %{_libdir}/libdl.a %{_libdir}/libm.a %ifarch x86_64 +%{_libdir}/libm-%{libversion}.a %{_libdir}/libmvec.a %endif %{_libdir}/libnsl.a diff --git a/glibc-version.diff b/glibc-version.diff index 0cc1703..8381c25 100644 --- a/glibc-version.diff +++ b/glibc-version.diff @@ -8,7 +8,7 @@ Index: glibc-2.17.90/csu/version.c static const char banner[] = -"GNU C Library "PKGVERSION RELEASE" release version "VERSION", by Roland McGrath et al.\n\ +"GNU C Library "PKGVERSION RELEASE" release version "VERSION" (git "GITID"), by Roland McGrath et al.\n\ - Copyright (C) 2016 Free Software Foundation, Inc.\n\ + Copyright (C) 2017 Free Software Foundation, Inc.\n\ This is free software; see the source for copying conditions.\n\ There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n\ PARTICULAR PURPOSE.\n\ diff --git a/glibc.changes b/glibc.changes index 12c7b52..e5af9bb 100644 --- a/glibc.changes +++ b/glibc.changes @@ -1,3 +1,105 @@ +------------------------------------------------------------------- +Sun Feb 5 18:26:21 UTC 2017 - schwab@suse.de + +- Update to glibc 2.25 + * The feature test macro __STDC_WANT_LIB_EXT2__, from ISO/IEC TR + 24731-2:2010, is supported to enable declarations of functions from that + TR. + * The feature test macro __STDC_WANT_IEC_60559_BFP_EXT__, from ISO/IEC TS + 18661-1:2014, is supported to enable declarations of functions and macros + from that TS. + * The feature test macro __STDC_WANT_IEC_60559_FUNCS_EXT__, from ISO/IEC TS + 18661-4:2015, is supported to enable declarations of functions and macros + from that TS. + * The nonstandard feature selection macros _REENTRANT and _THREAD_SAFE are + now treated as compatibility synonyms for _POSIX_C_SOURCE=199506L. + * The inclusion of by is deprecated. + * New features from TS 18661-1:2014 are added to libm: the + fesetexcept, fetestexceptflag, fegetmode and fesetmode functions, the + femode_t type and the FE_DFL_MODE and FE_SNANS_ALWAYS_SIGNAL macros. + * Integer width macros from TS 18661-1:2014 are added to : + CHAR_WIDTH, SCHAR_WIDTH, UCHAR_WIDTH, SHRT_WIDTH, USHRT_WIDTH, INT_WIDTH, + UINT_WIDTH, LONG_WIDTH, ULONG_WIDTH, LLONG_WIDTH, ULLONG_WIDTH; and to + : INT8_WIDTH, UINT8_WIDTH, INT16_WIDTH, UINT16_WIDTH, + INT32_WIDTH, UINT32_WIDTH, INT64_WIDTH, UINT64_WIDTH, INT_LEAST8_WIDTH, + UINT_LEAST8_WIDTH, INT_LEAST16_WIDTH, UINT_LEAST16_WIDTH, + INT_LEAST32_WIDTH, UINT_LEAST32_WIDTH, INT_LEAST64_WIDTH, + UINT_LEAST64_WIDTH, INT_FAST8_WIDTH, UINT_FAST8_WIDTH, INT_FAST16_WIDTH, + UINT_FAST16_WIDTH, INT_FAST32_WIDTH, UINT_FAST32_WIDTH, INT_FAST64_WIDTH, + UINT_FAST64_WIDTH, INTPTR_WIDTH, UINTPTR_WIDTH, INTMAX_WIDTH, + UINTMAX_WIDTH, PTRDIFF_WIDTH, SIG_ATOMIC_WIDTH, SIZE_WIDTH, WCHAR_WIDTH, + WINT_WIDTH. + * New features are added from TS 18661-1:2014: + - Signaling NaN macros: SNANF, SNAN, SNANL. + - Nearest integer functions: roundeven, roundevenf, roundevenl, fromfp, + fromfpf, fromfpl, ufromfp, ufromfpf, ufromfpl, fromfpx, fromfpxf, + fromfpxl, ufromfpx, ufromfpxf, ufromfpxl. + - llogb functions: the llogb, llogbf and llogbl functions, and the + FP_LLOGB0 and FP_LLOGBNAN macros. + - Max-min magnitude functions: fmaxmag, fmaxmagf, fmaxmagl, fminmag, + fminmagf, fminmagl. + - Comparison macros: iseqsig. + - Classification macros: iscanonical, issubnormal, iszero. + - Total order functions: totalorder, totalorderf, totalorderl, + totalordermag, totalordermagf, totalordermagl. + - Canonicalize functions: canonicalize, canonicalizef, canonicalizel. + - NaN functions: getpayload, getpayloadf, getpayloadl, setpayload, + setpayloadf, setpayloadl, setpayloadsig, setpayloadsigf, setpayloadsigl. + * The functions strfromd, strfromf, and strfroml, from ISO/IEC TS 18661-1:2014, + are added to libc. + * Most of glibc can now be built with the stack smashing protector enabled. + * The function explicit_bzero, from OpenBSD, has been added to libc. + * On ColdFire, MicroBlaze, Nios II and SH3, the float_t type is now defined + to float instead of double. + * On x86_64, when compiling with -mfpmath=387 or -mfpmath=sse+387, the + float_t and double_t types are now defined to long double instead of float + and double. + * The getentropy and getrandom functions, and the header file + have been added. + * The buffer size for byte-oriented stdio streams is now limited to 8192 + bytes by default. + * The header now includes the header. + * The malloc_get_state and malloc_set_state functions have been removed. + * The “ip6-dotint” and “no-ip6-dotint” resolver options, and the + corresponding RES_NOIP6DOTINT flag from have been removed. + * The "ip6-bytestring" resolver option and the corresponding RES_USEBSTRING + flag from have been removed. + * The flags RES_AAONLY, RES_PRIMARY, RES_NOCHECKNAME, RES_KEEPTSIG, + RES_BLAST defined in the header file have been deprecated. + * The "inet6" option in /etc/resolv.conf and the RES_USE_INET6 flag for + _res.flags are deprecated. + * DNSSEC-related declarations and definitions have been removed from the + header file, and libresolv will no longer attempt to + decode the data part of DNSSEC record types. + * The resource record type classification macros ns_t_qt_p, ns_t_mrr_p, + ns_t_rr_p, ns_t_udp_p, ns_t_xfr_p have been removed from the + header file because the distinction between RR types and + meta-RR types is not officially standardized, subject to revision, and + thus not suitable for encoding in a macro. + * The types res_sendhookact, res_send_qhook, re_send_rhook, and the qhook + and rhook members of the res_state type in have been removed. + * For multi-arch support it is recommended to use a GCC which has + been built with support for GNU indirect functions. + * GDB pretty printers have been added for mutex and condition variable + structures in POSIX Threads. + * Tunables feature added to allow tweaking of the runtime for an application + program. + * A new version of condition variables functions have been implemented in + the NPTL implementation of POSIX Threads to provide stronger ordering + guarantees. + * A new version of pthread_rwlock functions have been implemented to use a more + scalable algorithm primarily through not using a critical section anymore to + make state changes. + * On ARM EABI (32-bit), generating a backtrace for execution contexts which + have been created with makecontext could fail to terminate due to a + missing .cantunwind annotation. (CVE-2016-6323) + * The DNS stub resolver functions would crash due to a NULL pointer + dereference when processing a query with a valid DNS question type which + was used internally in the implementation. (CVE-2015-5180) +- Enable stack protector if part of %optflags +- startcontext-cantunwind.patch: Removed +- cpuid-assertion.patch: Removed + ------------------------------------------------------------------- Thu Oct 13 08:24:22 UTC 2016 - schwab@suse.de diff --git a/glibc.keyring b/glibc.keyring index afbce5a..3f66b81 100644 Binary files a/glibc.keyring and b/glibc.keyring differ diff --git a/glibc.spec b/glibc.spec index e04ab78..76ab459 100644 --- a/glibc.spec +++ b/glibc.spec @@ -1,7 +1,7 @@ # # spec file for package glibc # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -36,6 +36,7 @@ Name: glibc Summary: Standard Shared Libraries (from the GNU C Library) License: LGPL-2.1+ and SUSE-LGPL-2.1+-with-GCC-exception and GPL-2.0+ Group: System/Libraries +# UTILS-SUMMARY-END BuildRequires: audit-devel BuildRequires: fdupes BuildRequires: libcap-devel @@ -104,10 +105,10 @@ BuildRequires: gd-devel # 3.1 is the openSUSE 12.1 kernel %define enablekernel 3.0 -Version: 2.24 +Version: 2.25 Release: 0 %if !%{build_snapshot} -%define git_id beb0f59498c3 +%define git_id db0242e30234 %define libversion %version %else %define git_id %(echo %version | sed 's/.*\.g//') @@ -248,10 +249,6 @@ Patch306: glibc-fix-double-loopback.diff ### # Patches from upstream ### -# PATCH-FIX-UPSTREAM ARM: mark __startcontext as .cantunwind (BZ #20435) -Patch1000: startcontext-cantunwind.patch -# PATCH-FIX-UPSTREAM X86: Don't assert on older Intel CPUs (BZ #20647) -Patch1001: cpuid-assertion.patch ### # Patches awaiting upstream approval @@ -472,9 +469,6 @@ rm nscd/s-stamp %patch304 -p1 %patch306 -p1 -%patch1000 -p1 -%patch1001 -p1 - %patch2000 -p1 %patch2001 -p1 %patch2002 -p1 @@ -539,6 +533,14 @@ echo "#define GITID \"%{git_id}\"" >> version.h # Default CFLAGS and Compiler # BuildFlags="%{optflags} -U_FORTIFY_SOURCE" +enable_stack_protector= +for opt in $BuildFlags; do + case $opt in + -fstack-protector-strong) enable_stack_protector=strong ;; + -fstack-protector-all) enable_stack_protector=all ;; + -fstack-protector) enable_stack_protector=yes ;; + esac +done BuildFlags=$(echo $BuildFlags | sed -e 's#-fstack-protector[^ ]*##' -e 's#-ffortify=[0-9]*##') BuildCC="%__cc" BuildCCplus="%__cxx" @@ -621,9 +623,6 @@ configure_and_build_glibc() { --enable-add-ons=$add_ons \ $profile $elision \ "$@" \ -%if %{enable_stackguard_randomization} - --enable-stackguard-randomization \ -%endif --build=%{target} --host=%{target} \ %ifarch armv7hl ppc ppc64 ppc64le %{ix86} x86_64 sparc sparc64 s390 s390x --enable-multi-arch \ @@ -634,6 +633,11 @@ configure_and_build_glibc() { %ifarch ppc64p7 --with-cpu=power7 \ %endif +%if %{enable_stackguard_randomization} + --enable-stackguard-randomization \ +%endif + ${enable_stack_protector:+--enable-stack-protector=$enable_stack_protector} \ + --enable-tunables \ --enable-kernel=%{enablekernel} \ --with-bugurl=http://bugs.opensuse.org \ --enable-bind-now --enable-obsolete-rpc \ @@ -746,7 +750,7 @@ make -C cc-base -k check || { cd cc-base o=$- set +x - for sum in */*.sum; do + for sum in subdir-tests.sum */subdir-tests.sum; do while read s t; do case $s in XPASS:|PASS:) @@ -1292,6 +1296,7 @@ exit 0 %{_libdir}/libdl.a %{_libdir}/libm.a %ifarch x86_64 +%{_libdir}/libm-%{libversion}.a %{_libdir}/libmvec.a %endif %{_libdir}/libnsl.a diff --git a/pre_checkin.sh b/pre_checkin.sh index 3f14c9b..121f4b1 100644 --- a/pre_checkin.sh +++ b/pre_checkin.sh @@ -10,7 +10,7 @@ Summary: Development utilities from GNU C library\n\ License: LGPL-2.1+\n\ Group: Development/Languages/C and C++" } -/^BuildRequires/ { ignore = 0 } +/UTILS-SUMMARY-END/ { ignore = 0; next } /^%description$/ { ignore = 1 print "\ diff --git a/startcontext-cantunwind.patch b/startcontext-cantunwind.patch deleted file mode 100644 index 4d36591..0000000 --- a/startcontext-cantunwind.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 1061d6fe364ddac7458a872839ea9efe8f7600f0 Mon Sep 17 00:00:00 2001 -From: Andreas Schwab -Date: Mon, 8 Aug 2016 09:29:18 +0200 -Subject: [PATCH] arm: mark __startcontext as .cantunwind - -__startcontext marks the bottom of the call stack of the contexts created -by makecontext. - - [BZ #20435] - * sysdeps/unix/sysv/linux/arm/setcontext.S (__startcontext): Mark - as .cantunwind. ---- - sysdeps/unix/sysv/linux/arm/setcontext.S | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/sysdeps/unix/sysv/linux/arm/setcontext.S b/sysdeps/unix/sysv/linux/arm/setcontext.S -index 603e508..d1f168f 100644 ---- a/sysdeps/unix/sysv/linux/arm/setcontext.S -+++ b/sysdeps/unix/sysv/linux/arm/setcontext.S -@@ -86,12 +86,19 @@ weak_alias(__setcontext, setcontext) - - /* Called when a makecontext() context returns. Start the - context in R4 or fall through to exit(). */ -+ /* Unwind descriptors are looked up based on PC - 2, so we have to -+ make sure to mark the instruction preceding the __startcontext -+ label as .cantunwind. */ -+ .fnstart -+ .cantunwind -+ nop - ENTRY(__startcontext) - movs r0, r4 - bne PLTJMP(__setcontext) - - @ New context was 0 - exit - b PLTJMP(HIDDEN_JUMPTARGET(exit)) -+ .fnend - END(__startcontext) - - #ifdef PIC --- -2.9.2 -