SHA256
1
0
forked from pool/glibc

Accepting request 285070 from home:Andreas_Schwab:Factory

- Update to glibc 2.21 release.
  * A new semaphore algorithm has been implemented in generic C code for all
    machines
  * Added support for TSX lock elision of pthread mutexes on powerpc32,
    powerpc64 and powerpc64le
  * Optimized strcpy, stpcpy, strchrnul and strrchr implementations for
    AArch64
  * i386 memcpy functions optimized with SSE2 unaligned load/store
  * New locales: tu_IN, bh_IN, raj_IN, ce_RU
  * The obsolete sigvec function has been removed
- Patches from upstream removed
  * ifunc-x86-slow-sse4.patch
  * pthread-mutex-trylock-elision.patch
- o-tmpfile.patch: Fix value of O_TMPFILE for architectures with
  non-default O_DIRECTORY (BZ #17912)

OBS-URL: https://build.opensuse.org/request/show/285070
OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=391
This commit is contained in:
Andreas Schwab 2015-02-10 10:34:33 +00:00 committed by Git OBS Bridge
parent fe024e3ae1
commit 30e48d0d7f
19 changed files with 338 additions and 400 deletions

View File

@ -1,7 +1,7 @@
Index: glibc-2.19.90/crypt/Makefile
Index: glibc-2.20/crypt/Makefile
===================================================================
--- glibc-2.19.90.orig/crypt/Makefile
+++ glibc-2.19.90/crypt/Makefile
--- glibc-2.20.orig/crypt/Makefile
+++ glibc-2.20/crypt/Makefile
@@ -23,14 +23,18 @@ subdir := crypt
include ../Makeconfig
@ -23,10 +23,10 @@ Index: glibc-2.19.90/crypt/Makefile
ifeq ($(crypt-in-libc),yes)
routines += $(libcrypt-routines)
Index: glibc-2.19.90/crypt/Versions
Index: glibc-2.20/crypt/Versions
===================================================================
--- glibc-2.19.90.orig/crypt/Versions
+++ glibc-2.19.90/crypt/Versions
--- glibc-2.20.orig/crypt/Versions
+++ glibc-2.20/crypt/Versions
@@ -3,3 +3,8 @@ libcrypt {
crypt; crypt_r; encrypt; encrypt_r; fcrypt; setkey; setkey_r;
}
@ -36,11 +36,11 @@ Index: glibc-2.19.90/crypt/Versions
+ crypt_gensalt; crypt_gensalt_rn; crypt_gensalt_ra;
+ }
+}
Index: glibc-2.19.90/crypt/crypt-entry.c
Index: glibc-2.20/crypt/crypt-entry.c
===================================================================
--- glibc-2.19.90.orig/crypt/crypt-entry.c
+++ glibc-2.19.90/crypt/crypt-entry.c
@@ -81,7 +81,7 @@ extern struct crypt_data _ufc_foobar;
--- glibc-2.20.orig/crypt/crypt-entry.c
+++ glibc-2.20/crypt/crypt-entry.c
@@ -71,7 +71,7 @@ extern struct crypt_data _ufc_foobar;
*/
char *
@ -49,7 +49,7 @@ Index: glibc-2.19.90/crypt/crypt-entry.c
const char *key;
const char *salt;
struct crypt_data * __restrict data;
@@ -155,6 +155,7 @@ __crypt_r (key, salt, data)
@@ -145,6 +145,7 @@ __crypt_r (key, salt, data)
_ufc_output_conversion_r (res[0], res[1], salt, data);
return data->crypt_3_buf;
}
@ -57,287 +57,300 @@ Index: glibc-2.19.90/crypt/crypt-entry.c
weak_alias (__crypt_r, crypt_r)
char *
@@ -197,3 +198,4 @@ __fcrypt (key, salt)
@@ -187,3 +188,4 @@ __fcrypt (key, salt)
return crypt (key, salt);
}
#endif
+#endif
Index: glibc-2.19.90/shlib-versions
Index: glibc-2.20/crypt/crypt-private.h
===================================================================
--- glibc-2.19.90.orig/shlib-versions
+++ glibc-2.19.90/shlib-versions
@@ -93,6 +93,7 @@ sh.*-.*-linux.* ld=ld-linux.so.2 GLIBC_
--- glibc-2.20.orig/crypt/crypt-private.h
+++ glibc-2.20/crypt/crypt-private.h
@@ -65,7 +65,7 @@ extern void __encrypt_r (char * __restri
struct crypt_data * __restrict __data);
/* crypt-entry.c */
-extern char *__crypt_r (const char *__key, const char *__salt,
+extern char *__des_crypt_r (const char *__key, const char *__salt,
struct crypt_data * __restrict __data);
extern char *fcrypt (const char *key, const char *salt);
Index: glibc-2.20/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_
# This defines the shared library version numbers we will install.
.*-.*-.* libcrypt=1
+.*-.*-.* libowcrypt=1
libcrypt=1
+libowcrypt=1
# The gross patch for programs assuming broken locale implementations.
sh.*-.*-.* libBrokenLocale=1 GLIBC_2.2
Index: glibc-2.19.90/sysdeps/unix/sysv/linux/aarch64/libowcrypt.abilist
libBrokenLocale=1
Index: glibc-2.20/sysdeps/unix/sysv/linux/aarch64/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.19.90/sysdeps/unix/sysv/linux/aarch64/libowcrypt.abilist
+++ glibc-2.20/sysdeps/unix/sysv/linux/aarch64/libowcrypt.abilist
@@ -0,0 +1,5 @@
+OW_CRYPT_1.0
+ OW_CRYPT_1.0 A
+ crypt_gensalt F
+ crypt_gensalt_ra F
+ crypt_gensalt_rn F
Index: glibc-2.19.90/sysdeps/unix/sysv/linux/alpha/libowcrypt.abilist
Index: glibc-2.20/sysdeps/unix/sysv/linux/alpha/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.19.90/sysdeps/unix/sysv/linux/alpha/libowcrypt.abilist
+++ glibc-2.20/sysdeps/unix/sysv/linux/alpha/libowcrypt.abilist
@@ -0,0 +1,5 @@
+OW_CRYPT_1.0
+ OW_CRYPT_1.0 A
+ crypt_gensalt F
+ crypt_gensalt_ra F
+ crypt_gensalt_rn F
Index: glibc-2.19.90/sysdeps/unix/sysv/linux/arm/libowcrypt.abilist
Index: glibc-2.20/sysdeps/unix/sysv/linux/arm/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.19.90/sysdeps/unix/sysv/linux/arm/libowcrypt.abilist
+++ glibc-2.20/sysdeps/unix/sysv/linux/arm/libowcrypt.abilist
@@ -0,0 +1,5 @@
+OW_CRYPT_1.0
+ OW_CRYPT_1.0 A
+ crypt_gensalt F
+ crypt_gensalt_ra F
+ crypt_gensalt_rn F
Index: glibc-2.19.90/sysdeps/unix/sysv/linux/hppa/libowcrypt.abilist
Index: glibc-2.20/sysdeps/unix/sysv/linux/hppa/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.19.90/sysdeps/unix/sysv/linux/hppa/libowcrypt.abilist
+++ glibc-2.20/sysdeps/unix/sysv/linux/hppa/libowcrypt.abilist
@@ -0,0 +1,5 @@
+OW_CRYPT_1.0
+ OW_CRYPT_1.0 A
+ crypt_gensalt F
+ crypt_gensalt_ra F
+ crypt_gensalt_rn F
Index: glibc-2.19.90/sysdeps/unix/sysv/linux/i386/libowcrypt.abilist
Index: glibc-2.20/sysdeps/unix/sysv/linux/i386/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.19.90/sysdeps/unix/sysv/linux/i386/libowcrypt.abilist
+++ glibc-2.20/sysdeps/unix/sysv/linux/i386/libowcrypt.abilist
@@ -0,0 +1,5 @@
+OW_CRYPT_1.0
+ OW_CRYPT_1.0 A
+ crypt_gensalt F
+ crypt_gensalt_ra F
+ crypt_gensalt_rn F
Index: glibc-2.19.90/sysdeps/unix/sysv/linux/ia64/libowcrypt.abilist
Index: glibc-2.20/sysdeps/unix/sysv/linux/ia64/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.19.90/sysdeps/unix/sysv/linux/ia64/libowcrypt.abilist
+++ glibc-2.20/sysdeps/unix/sysv/linux/ia64/libowcrypt.abilist
@@ -0,0 +1,5 @@
+OW_CRYPT_1.0
+ OW_CRYPT_1.0 A
+ crypt_gensalt F
+ crypt_gensalt_ra F
+ crypt_gensalt_rn F
Index: glibc-2.19.90/sysdeps/unix/sysv/linux/m68k/coldfire/libowcrypt.abilist
Index: glibc-2.20/sysdeps/unix/sysv/linux/m68k/coldfire/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.19.90/sysdeps/unix/sysv/linux/m68k/coldfire/libowcrypt.abilist
+++ glibc-2.20/sysdeps/unix/sysv/linux/m68k/coldfire/libowcrypt.abilist
@@ -0,0 +1,5 @@
+OW_CRYPT_1.0
+ OW_CRYPT_1.0 A
+ crypt_gensalt F
+ crypt_gensalt_ra F
+ crypt_gensalt_rn F
Index: glibc-2.19.90/sysdeps/unix/sysv/linux/m68k/m680x0/libowcrypt.abilist
Index: glibc-2.20/sysdeps/unix/sysv/linux/m68k/m680x0/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.19.90/sysdeps/unix/sysv/linux/m68k/m680x0/libowcrypt.abilist
+++ glibc-2.20/sysdeps/unix/sysv/linux/m68k/m680x0/libowcrypt.abilist
@@ -0,0 +1,5 @@
+OW_CRYPT_1.0
+ OW_CRYPT_1.0 A
+ crypt_gensalt F
+ crypt_gensalt_ra F
+ crypt_gensalt_rn F
Index: glibc-2.19.90/sysdeps/unix/sysv/linux/microblaze/libowcrypt.abilist
Index: glibc-2.20/sysdeps/unix/sysv/linux/microblaze/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.19.90/sysdeps/unix/sysv/linux/microblaze/libowcrypt.abilist
+++ glibc-2.20/sysdeps/unix/sysv/linux/microblaze/libowcrypt.abilist
@@ -0,0 +1,5 @@
+OW_CRYPT_1.0
+ OW_CRYPT_1.0 A
+ crypt_gensalt F
+ crypt_gensalt_ra F
+ crypt_gensalt_rn F
Index: glibc-2.19.90/sysdeps/unix/sysv/linux/mips/mips32/fpu/libowcrypt.abilist
Index: glibc-2.20/sysdeps/unix/sysv/linux/mips/mips32/fpu/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.19.90/sysdeps/unix/sysv/linux/mips/mips32/fpu/libowcrypt.abilist
+++ glibc-2.20/sysdeps/unix/sysv/linux/mips/mips32/fpu/libowcrypt.abilist
@@ -0,0 +1,5 @@
+OW_CRYPT_1.0
+ OW_CRYPT_1.0 A
+ crypt_gensalt F
+ crypt_gensalt_ra F
+ crypt_gensalt_rn F
Index: glibc-2.19.90/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libowcrypt.abilist
Index: glibc-2.20/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.19.90/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libowcrypt.abilist
+++ glibc-2.20/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libowcrypt.abilist
@@ -0,0 +1,5 @@
+OW_CRYPT_1.0
+ OW_CRYPT_1.0 A
+ crypt_gensalt F
+ crypt_gensalt_ra F
+ crypt_gensalt_rn F
Index: glibc-2.19.90/sysdeps/unix/sysv/linux/mips/mips64/n32/libowcrypt.abilist
Index: glibc-2.20/sysdeps/unix/sysv/linux/mips/mips64/n32/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.19.90/sysdeps/unix/sysv/linux/mips/mips64/n32/libowcrypt.abilist
+++ glibc-2.20/sysdeps/unix/sysv/linux/mips/mips64/n32/libowcrypt.abilist
@@ -0,0 +1,5 @@
+OW_CRYPT_1.0
+ OW_CRYPT_1.0 A
+ crypt_gensalt F
+ crypt_gensalt_ra F
+ crypt_gensalt_rn F
Index: glibc-2.19.90/sysdeps/unix/sysv/linux/mips/mips64/n64/libowcrypt.abilist
Index: glibc-2.20/sysdeps/unix/sysv/linux/mips/mips64/n64/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.19.90/sysdeps/unix/sysv/linux/mips/mips64/n64/libowcrypt.abilist
+++ glibc-2.20/sysdeps/unix/sysv/linux/mips/mips64/n64/libowcrypt.abilist
@@ -0,0 +1,5 @@
+OW_CRYPT_1.0
+ OW_CRYPT_1.0 A
+ crypt_gensalt F
+ crypt_gensalt_ra F
+ crypt_gensalt_rn F
Index: glibc-2.19.90/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libowcrypt.abilist
Index: glibc-2.20/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.19.90/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libowcrypt.abilist
+++ glibc-2.20/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libowcrypt.abilist
@@ -0,0 +1,5 @@
+OW_CRYPT_1.0
+ OW_CRYPT_1.0 A
+ crypt_gensalt F
+ crypt_gensalt_ra F
+ crypt_gensalt_rn F
Index: glibc-2.19.90/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libowcrypt.abilist
Index: glibc-2.20/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.19.90/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libowcrypt.abilist
+++ glibc-2.20/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libowcrypt.abilist
@@ -0,0 +1,5 @@
+OW_CRYPT_1.0
+ OW_CRYPT_1.0 A
+ crypt_gensalt F
+ crypt_gensalt_ra F
+ crypt_gensalt_rn F
Index: glibc-2.19.90/sysdeps/unix/sysv/linux/powerpc/powerpc64/libowcrypt-le.abilist
Index: glibc-2.20/sysdeps/unix/sysv/linux/powerpc/powerpc64/libowcrypt-le.abilist
===================================================================
--- /dev/null
+++ glibc-2.19.90/sysdeps/unix/sysv/linux/powerpc/powerpc64/libowcrypt-le.abilist
+++ glibc-2.20/sysdeps/unix/sysv/linux/powerpc/powerpc64/libowcrypt-le.abilist
@@ -0,0 +1,5 @@
+OW_CRYPT_1.0
+ OW_CRYPT_1.0 A
+ crypt_gensalt F
+ crypt_gensalt_ra F
+ crypt_gensalt_rn F
Index: glibc-2.19.90/sysdeps/unix/sysv/linux/powerpc/powerpc64/libowcrypt.abilist
Index: glibc-2.20/sysdeps/unix/sysv/linux/powerpc/powerpc64/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.19.90/sysdeps/unix/sysv/linux/powerpc/powerpc64/libowcrypt.abilist
+++ glibc-2.20/sysdeps/unix/sysv/linux/powerpc/powerpc64/libowcrypt.abilist
@@ -0,0 +1,5 @@
+OW_CRYPT_1.0
+ OW_CRYPT_1.0 A
+ crypt_gensalt F
+ crypt_gensalt_ra F
+ crypt_gensalt_rn F
Index: glibc-2.19.90/sysdeps/unix/sysv/linux/s390/s390-32/libowcrypt.abilist
Index: glibc-2.20/sysdeps/unix/sysv/linux/s390/s390-32/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.19.90/sysdeps/unix/sysv/linux/s390/s390-32/libowcrypt.abilist
+++ glibc-2.20/sysdeps/unix/sysv/linux/s390/s390-32/libowcrypt.abilist
@@ -0,0 +1,5 @@
+OW_CRYPT_1.0
+ OW_CRYPT_1.0 A
+ crypt_gensalt F
+ crypt_gensalt_ra F
+ crypt_gensalt_rn F
Index: glibc-2.19.90/sysdeps/unix/sysv/linux/s390/s390-64/libowcrypt.abilist
Index: glibc-2.20/sysdeps/unix/sysv/linux/s390/s390-64/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.19.90/sysdeps/unix/sysv/linux/s390/s390-64/libowcrypt.abilist
+++ glibc-2.20/sysdeps/unix/sysv/linux/s390/s390-64/libowcrypt.abilist
@@ -0,0 +1,5 @@
+OW_CRYPT_1.0
+ OW_CRYPT_1.0 A
+ crypt_gensalt F
+ crypt_gensalt_ra F
+ crypt_gensalt_rn F
Index: glibc-2.19.90/sysdeps/unix/sysv/linux/sh/libowcrypt.abilist
Index: glibc-2.20/sysdeps/unix/sysv/linux/sh/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.19.90/sysdeps/unix/sysv/linux/sh/libowcrypt.abilist
+++ glibc-2.20/sysdeps/unix/sysv/linux/sh/libowcrypt.abilist
@@ -0,0 +1,5 @@
+OW_CRYPT_1.0
+ OW_CRYPT_1.0 A
+ crypt_gensalt F
+ crypt_gensalt_ra F
+ crypt_gensalt_rn F
Index: glibc-2.19.90/sysdeps/unix/sysv/linux/sparc/sparc32/libowcrypt.abilist
Index: glibc-2.20/sysdeps/unix/sysv/linux/sparc/sparc32/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.19.90/sysdeps/unix/sysv/linux/sparc/sparc32/libowcrypt.abilist
+++ glibc-2.20/sysdeps/unix/sysv/linux/sparc/sparc32/libowcrypt.abilist
@@ -0,0 +1,5 @@
+OW_CRYPT_1.0
+ OW_CRYPT_1.0 A
+ crypt_gensalt F
+ crypt_gensalt_ra F
+ crypt_gensalt_rn F
Index: glibc-2.19.90/sysdeps/unix/sysv/linux/sparc/sparc64/libowcrypt.abilist
Index: glibc-2.20/sysdeps/unix/sysv/linux/sparc/sparc64/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.19.90/sysdeps/unix/sysv/linux/sparc/sparc64/libowcrypt.abilist
+++ glibc-2.20/sysdeps/unix/sysv/linux/sparc/sparc64/libowcrypt.abilist
@@ -0,0 +1,5 @@
+OW_CRYPT_1.0
+ OW_CRYPT_1.0 A
+ crypt_gensalt F
+ crypt_gensalt_ra F
+ crypt_gensalt_rn F
Index: glibc-2.19.90/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libowcrypt.abilist
Index: glibc-2.20/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.19.90/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libowcrypt.abilist
+++ glibc-2.20/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libowcrypt.abilist
@@ -0,0 +1,5 @@
+OW_CRYPT_1.0
+ OW_CRYPT_1.0 A
+ crypt_gensalt F
+ crypt_gensalt_ra F
+ crypt_gensalt_rn F
Index: glibc-2.19.90/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libowcrypt.abilist
Index: glibc-2.20/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.19.90/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libowcrypt.abilist
+++ glibc-2.20/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libowcrypt.abilist
@@ -0,0 +1,5 @@
+OW_CRYPT_1.0
+ OW_CRYPT_1.0 A
+ crypt_gensalt F
+ crypt_gensalt_ra F
+ crypt_gensalt_rn F
Index: glibc-2.19.90/sysdeps/unix/sysv/linux/tile/tilepro/libowcrypt.abilist
Index: glibc-2.20/sysdeps/unix/sysv/linux/tile/tilepro/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.19.90/sysdeps/unix/sysv/linux/tile/tilepro/libowcrypt.abilist
+++ glibc-2.20/sysdeps/unix/sysv/linux/tile/tilepro/libowcrypt.abilist
@@ -0,0 +1,5 @@
+OW_CRYPT_1.0
+ OW_CRYPT_1.0 A
+ crypt_gensalt F
+ crypt_gensalt_ra F
+ crypt_gensalt_rn F
Index: glibc-2.19.90/sysdeps/unix/sysv/linux/x86_64/64/libowcrypt.abilist
Index: glibc-2.20/sysdeps/unix/sysv/linux/x86_64/64/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.19.90/sysdeps/unix/sysv/linux/x86_64/64/libowcrypt.abilist
+++ glibc-2.20/sysdeps/unix/sysv/linux/x86_64/64/libowcrypt.abilist
@@ -0,0 +1,5 @@
+OW_CRYPT_1.0
+ OW_CRYPT_1.0 A
+ crypt_gensalt F
+ crypt_gensalt_ra F
+ crypt_gensalt_rn F
Index: glibc-2.19.90/sysdeps/unix/sysv/linux/x86_64/x32/libowcrypt.abilist
Index: glibc-2.20/sysdeps/unix/sysv/linux/x86_64/x32/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.19.90/sysdeps/unix/sysv/linux/x86_64/x32/libowcrypt.abilist
+++ glibc-2.20/sysdeps/unix/sysv/linux/x86_64/x32/libowcrypt.abilist
@@ -0,0 +1,5 @@
+OW_CRYPT_1.0
+ OW_CRYPT_1.0 A

View File

@ -2,10 +2,10 @@ For details see:
http://sourceware.org/bugzilla/show_bug.cgi?id=5379
Index: glibc-2.17.90/sunrpc/clnt_udp.c
Index: glibc-2.20/sunrpc/clnt_udp.c
===================================================================
--- glibc-2.17.90.orig/sunrpc/clnt_udp.c
+++ glibc-2.17.90/sunrpc/clnt_udp.c
--- glibc-2.20.orig/sunrpc/clnt_udp.c
+++ glibc-2.20/sunrpc/clnt_udp.c
@@ -308,6 +308,7 @@ clntudp_call (cl, proc, xargs, argsp, xr
XDR *xdrs;
int outlen = 0;
@ -14,7 +14,7 @@ Index: glibc-2.17.90/sunrpc/clnt_udp.c
socklen_t fromlen;
struct pollfd fd;
int milliseconds = (cu->cu_wait.tv_sec * 1000) +
@@ -378,37 +379,36 @@ send_again:
@@ -378,37 +379,39 @@ send_again:
anyup = 0;
for (;;)
{
@ -24,33 +24,12 @@ Index: glibc-2.17.90/sunrpc/clnt_udp.c
-
case 0:
- if (anyup == 0)
- {
+ case -1:
+ if (pollresult == 0 || errno == EINTR)
{
- anyup = is_network_up (cu->cu_sock);
- if (!anyup)
- return (cu->cu_error.re_status = RPC_CANTRECV);
- }
-
- time_waited.tv_sec += cu->cu_wait.tv_sec;
- time_waited.tv_usec += cu->cu_wait.tv_usec;
- while (time_waited.tv_usec >= 1000000)
- {
- time_waited.tv_sec++;
- time_waited.tv_usec -= 1000000;
- }
- if ((time_waited.tv_sec < timeout.tv_sec) ||
- ((time_waited.tv_sec == timeout.tv_sec) &&
- (time_waited.tv_usec < timeout.tv_usec)))
- goto send_again;
- return (cu->cu_error.re_status = RPC_TIMEDOUT);
-
- /*
- * buggy in other cases because time_waited is not being
- * updated.
- */
case -1:
- if (errno == EINTR)
- continue;
+ if (pollresult == 0 || errno == EINTR) {
+ if (anyup == 0)
+ {
+ anyup = is_network_up (cu->cu_sock);
@ -68,13 +47,35 @@ Index: glibc-2.17.90/sunrpc/clnt_udp.c
+ if ((time_waited.tv_sec < timeout.tv_sec) ||
+ ((time_waited.tv_sec == timeout.tv_sec) &&
+ (time_waited.tv_usec < timeout.tv_usec)))
+ {
+ if (pollresult == 0)
+ goto send_again;
+ else
+ continue;
+ return (cu->cu_error.re_status = RPC_TIMEDOUT);
+ }
+
+ return (cu->cu_error.re_status = RPC_TIMEDOUT);
}
- time_waited.tv_sec += cu->cu_wait.tv_sec;
- time_waited.tv_usec += cu->cu_wait.tv_usec;
- while (time_waited.tv_usec >= 1000000)
- {
- time_waited.tv_sec++;
- time_waited.tv_usec -= 1000000;
- }
- if ((time_waited.tv_sec < timeout.tv_sec) ||
- ((time_waited.tv_sec == timeout.tv_sec) &&
- (time_waited.tv_usec < timeout.tv_usec)))
- goto send_again;
- return (cu->cu_error.re_status = RPC_TIMEDOUT);
-
- /*
- * buggy in other cases because time_waited is not being
- * updated.
- */
- case -1:
- if (errno == EINTR)
- continue;
+ /* errno != EINTR */
cu->cu_error.re_errno = errno;
return (cu->cu_error.re_status = RPC_CANTRECV);

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f84b6d42aecc288d593c397b0a3d02260a33ee686bce0c634eb9b32798f36ba5
size 12283992

3
glibc-2.21.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:aeeb362437965a5d3f40b151094ca79def04a115bd363fdd4a9a0c69482923b8
size 12322092

View File

@ -1,8 +1,8 @@
Index: glibc-2.19.90/elf/rtld.c
Index: glibc-2.20/elf/rtld.c
===================================================================
--- glibc-2.19.90.orig/elf/rtld.c
+++ glibc-2.19.90/elf/rtld.c
@@ -1740,6 +1740,52 @@ ERROR: ld.so: object '%s' cannot be load
--- glibc-2.20.orig/elf/rtld.c
+++ glibc-2.20/elf/rtld.c
@@ -1591,6 +1591,52 @@ ERROR: ld.so: object '%s' cannot be load
}
}

View File

@ -1,7 +1,7 @@
Index: glibc-2.17.90/nscd/nscd_stat.c
Index: glibc-2.20.90/nscd/nscd_stat.c
===================================================================
--- glibc-2.17.90.orig/nscd/nscd_stat.c
+++ glibc-2.17.90/nscd/nscd_stat.c
--- glibc-2.20.90.orig/nscd/nscd_stat.c
+++ glibc-2.20.90/nscd/nscd_stat.c
@@ -36,8 +36,13 @@
#endif /* HAVE_SELINUX */
@ -9,11 +9,24 @@ Index: glibc-2.17.90/nscd/nscd_stat.c
-/* We use this to make sure the receiver is the same. */
+/* We use this to make sure the receiver is the same. Capture mtime
+ of this file if possible. */
+#if defined(__TIMESTAMP__)
+static const char compilation[21] = __TIMESTAMP__;
+#ifdef __TIMESTAMP__
+static const char compilation[21];
+#else
static const char compilation[21] = __DATE__ " " __TIME__;
+#endif
/* Statistic data for one database. */
struct dbstat
@@ -96,7 +101,12 @@ send_stats (int fd, struct database_dyn
memset (&data, 0, sizeof (data));
+#ifdef __TIMESTAMP__
+ /* Skip day of the week. */
+ memcpy (data.version, __TIMESTAMP__ + 4, sizeof (compilation));
+#else
memcpy (data.version, compilation, sizeof (compilation));
+#endif
data.debug_level = debug_level;
data.runtime = time (NULL) - start_time;
data.client_queued = client_queued;

View File

@ -1,12 +1,12 @@
Index: glibc-2.17.90/resolv/res_hconf.c
Index: glibc-2.20/resolv/res_hconf.c
===================================================================
--- glibc-2.17.90.orig/resolv/res_hconf.c
+++ glibc-2.17.90/resolv/res_hconf.c
--- glibc-2.20.orig/resolv/res_hconf.c
+++ glibc-2.20/resolv/res_hconf.c
@@ -240,9 +240,12 @@ parse_line (const char *fname, int line_
if (c == NULL)
{
char *buf;
+ char *hint = "";
+ const char *hint = "";
- if (__asprintf (&buf, _("%s: line %d: bad command `%s'\n"),
- fname, line_num, start) < 0)

View File

@ -1,3 +1,22 @@
-------------------------------------------------------------------
Mon Feb 9 09:26:01 UTC 2015 - schwab@suse.de
- Update to glibc 2.21 release.
* A new semaphore algorithm has been implemented in generic C code for all
machines
* Added support for TSX lock elision of pthread mutexes on powerpc32,
powerpc64 and powerpc64le
* Optimized strcpy, stpcpy, strchrnul and strrchr implementations for
AArch64
* i386 memcpy functions optimized with SSE2 unaligned load/store
* New locales: tu_IN, bh_IN, raj_IN, ce_RU
* The obsolete sigvec function has been removed
- Patches from upstream removed
* ifunc-x86-slow-sse4.patch
* pthread-mutex-trylock-elision.patch
- o-tmpfile.patch: Fix value of O_TMPFILE for architectures with
non-default O_DIRECTORY (BZ #17912)
-------------------------------------------------------------------
Tue Oct 28 08:56:47 UTC 2014 - schwab@suse.de

View File

@ -1,7 +1,7 @@
#
# spec file for package glibc-testsuite
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2015 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
@ -100,10 +100,9 @@ BuildRequires: gd-devel
# 3.1 is the openSUSE 12.1 kernel
%define enablekernel 3.0
Version: 2.20
Version: 2.21
Release: 0
%define glibc_major_version 2.20
%define git_id b8079dd0d360
%define git_id 4e42b5b8f89f
Url: http://www.gnu.org/software/libc/libc.html
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#Source: glibc-%{version}-%{git_id}.tar.xz
@ -232,8 +231,6 @@ Patch306: glibc-fix-double-loopback.diff
###
# Patches from upstream
###
# PATCH-FIX-UPSTREAM Fix misdetected Slow_SSE4_2 cpu feature bit (BZ #17501)
Patch1000: ifunc-x86-slow-sse4.patch
###
# Patches awaiting upstream approval
@ -244,14 +241,14 @@ Patch2000: fix-locking-in-_IO_cleanup.patch
Patch2002: ldd-system-interp.patch
# PATCH-FIX-UPSTREAM Don't close or flush stdio streams on abort (BZ #15436)
Patch2003: abort-no-flush.patch
# PATCH-FIX-UPSTREAM Properly handle forced elision in pthread_mutex_trylock (BZ #16657)
Patch2004: pthread-mutex-trylock-elision.patch
# PATCH-FIX-UPSTREAM Speedup memset on x86-64 for large block sizes (BZ #16830)
Patch2005: glibc-memset-nontemporal.diff
# PATCH-FIX-UPSTREAM Avoid redundant shift character in iconv output at block boundary (BZ #17197)
Patch2006: ibm93x-redundant-shift-si.patch
# PATCH-FIX-UPSTREAM Filter out PTHREAD_MUTEX_NO_ELISION_NP bit in pthread_mutexattr_gettype (BZ #15790)
Patch2007: pthread-mutexattr-gettype-kind.patch
# PATCH-FIX-UPSTREAM Fix value of O_TMPFILE for architectures with non-default O_DIRECTORY (BZ #17912)
Patch2008: o-tmpfile.patch
# Non-glibc patches
# PATCH-FIX-OPENSUSE Remove debianisms from manpages
@ -452,15 +449,13 @@ rm nscd/s-stamp
%patch304 -p1
%patch306 -p1
%patch1000 -p1
%patch2000 -p1
%patch2002 -p1
%patch2003 -p1
%patch2004 -p1
%patch2005 -p1
%patch2006 -p1
%patch2007 -p1
%patch2008 -p1
%patch3000
@ -827,7 +822,7 @@ cc-base/elf/ldconfig -vn $destdir
cd cc-noelision
destdir=$RPM_BUILD_ROOT/%{_lib}/noelision
mkdir -p $destdir
install -m 755 nptl/libpthread.so $destdir/libpthread-%{glibc_major_version}.so
install -m 755 nptl/libpthread.so $destdir/libpthread-%{version}.so
cd ..
cc-base/elf/ldconfig -vn $destdir
%endif
@ -950,7 +945,7 @@ install -m 644 %{SOURCE21} %{buildroot}/usr/lib/systemd/system
%ifarch armv6hl armv7hl
# Provide compatibility link
ln -s ld-%{glibc_major_version}.so %{buildroot}/lib/ld-linux.so.3
ln -s ld-%{version}.so %{buildroot}/lib/ld-linux.so.3
%endif
# Move getconf to %{_libexecdir}/getconf/ to avoid cross device link
@ -1065,7 +1060,7 @@ exit 0
%doc %{_mandir}/man1/gencat.1.gz
%doc %{_mandir}/man1/getconf.1.gz
%doc %{_mandir}/man5/*
/%{_lib}/ld-%{glibc_major_version}.so
/%{_lib}/ld-%{version}.so
# Each architecture has a different name for the dynamic linker:
%ifarch %arm
@ -1104,58 +1099,58 @@ exit 0
/%{_lib}/ld-linux-aarch64.so.1
%endif
/%{_lib}/libBrokenLocale-%{glibc_major_version}.so
/%{_lib}/libBrokenLocale-%{version}.so
/%{_lib}/libBrokenLocale.so.1
/%{_lib}/libSegFault.so
/%{_lib}/libanl-%{glibc_major_version}.so
/%{_lib}/libanl-%{version}.so
/%{_lib}/libanl.so.1
/%{_lib}/libc-%{glibc_major_version}.so
/%{_lib}/libc-%{version}.so
/%{_lib}/libc.so.6*
/%{_lib}/libcidn-%{glibc_major_version}.so
/%{_lib}/libcidn-%{version}.so
/%{_lib}/libcidn.so.1
/%{_lib}/libcrypt-%{glibc_major_version}.so
/%{_lib}/libcrypt-%{version}.so
/%{_lib}/libcrypt.so.1
/%{_lib}/libowcrypt-%{glibc_major_version}.so
/%{_lib}/libowcrypt-%{version}.so
/%{_lib}/libowcrypt.so.1
/%{_lib}/libdl-%{glibc_major_version}.so
/%{_lib}/libdl-%{version}.so
/%{_lib}/libdl.so.2*
/%{_lib}/libm-%{glibc_major_version}.so
/%{_lib}/libm-%{version}.so
/%{_lib}/libm.so.6*
/%{_lib}/libnsl-%{glibc_major_version}.so
/%{_lib}/libnsl-%{version}.so
/%{_lib}/libnsl.so.1
/%{_lib}/libnss_compat-%{glibc_major_version}.so
/%{_lib}/libnss_compat-%{version}.so
/%{_lib}/libnss_compat.so.2
/%{_lib}/libnss_db-%{glibc_major_version}.so
/%{_lib}/libnss_db-%{version}.so
/%{_lib}/libnss_db.so.2
/%{_lib}/libnss_dns-%{glibc_major_version}.so
/%{_lib}/libnss_dns-%{version}.so
/%{_lib}/libnss_dns.so.2
/%{_lib}/libnss_files-%{glibc_major_version}.so
/%{_lib}/libnss_files-%{version}.so
/%{_lib}/libnss_files.so.2
/%{_lib}/libnss_hesiod-%{glibc_major_version}.so
/%{_lib}/libnss_hesiod-%{version}.so
/%{_lib}/libnss_hesiod.so.2
/%{_lib}/libnss_nis-%{glibc_major_version}.so
/%{_lib}/libnss_nis-%{version}.so
/%{_lib}/libnss_nis.so.2
/%{_lib}/libnss_nisplus-%{glibc_major_version}.so
/%{_lib}/libnss_nisplus-%{version}.so
/%{_lib}/libnss_nisplus.so.2
/%{_lib}/libpthread-%{glibc_major_version}.so
/%{_lib}/libpthread-%{version}.so
/%{_lib}/libpthread.so.0
/%{_lib}/libresolv-%{glibc_major_version}.so
/%{_lib}/libresolv-%{version}.so
/%{_lib}/libresolv.so.2
/%{_lib}/librt-%{glibc_major_version}.so
/%{_lib}/librt-%{version}.so
/%{_lib}/librt.so.1
/%{_lib}/libthread_db-1.0.so
/%{_lib}/libthread_db.so.1
/%{_lib}/libutil-%{glibc_major_version}.so
/%{_lib}/libutil-%{version}.so
/%{_lib}/libutil.so.1
%define optimized_libs() \
%dir %attr(0755,root,root) /%{_lib}/%1\
/%{_lib}/%1/libc-%{glibc_major_version}.so\
/%{_lib}/%1/libc-%{version}.so\
/%{_lib}/%1/libc.so.6*\
/%{_lib}/%1/libm-%{glibc_major_version}.so\
/%{_lib}/%1/libm-%{version}.so\
/%{_lib}/%1/libm.so.6*\
/%{_lib}/%1/libpthread-%{glibc_major_version}.so\
/%{_lib}/%1/libpthread-%{version}.so\
/%{_lib}/%1/libpthread.so.0\
/%{_lib}/%1/librt-%{glibc_major_version}.so\
/%{_lib}/%1/librt-%{version}.so\
/%{_lib}/%1/librt.so.1\
/%{_lib}/%1/libthread_db-1.0.so\
/%{_lib}/%1/libthread_db.so.1

View File

@ -1,3 +1,22 @@
-------------------------------------------------------------------
Mon Feb 9 09:26:01 UTC 2015 - schwab@suse.de
- Update to glibc 2.21 release.
* A new semaphore algorithm has been implemented in generic C code for all
machines
* Added support for TSX lock elision of pthread mutexes on powerpc32,
powerpc64 and powerpc64le
* Optimized strcpy, stpcpy, strchrnul and strrchr implementations for
AArch64
* i386 memcpy functions optimized with SSE2 unaligned load/store
* New locales: tu_IN, bh_IN, raj_IN, ce_RU
* The obsolete sigvec function has been removed
- Patches from upstream removed
* ifunc-x86-slow-sse4.patch
* pthread-mutex-trylock-elision.patch
- o-tmpfile.patch: Fix value of O_TMPFILE for architectures with
non-default O_DIRECTORY (BZ #17912)
-------------------------------------------------------------------
Tue Oct 28 08:56:47 UTC 2014 - schwab@suse.de

View File

@ -1,7 +1,7 @@
#
# spec file for package glibc-utils
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2015 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
@ -99,10 +99,9 @@ BuildRequires: gd-devel
# 3.1 is the openSUSE 12.1 kernel
%define enablekernel 3.0
Version: 2.20
Version: 2.21
Release: 0
%define glibc_major_version 2.20
%define git_id b8079dd0d360
%define git_id 4e42b5b8f89f
Url: http://www.gnu.org/software/libc/libc.html
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#Source: glibc-%{version}-%{git_id}.tar.xz
@ -231,8 +230,6 @@ Patch306: glibc-fix-double-loopback.diff
###
# Patches from upstream
###
# PATCH-FIX-UPSTREAM Fix misdetected Slow_SSE4_2 cpu feature bit (BZ #17501)
Patch1000: ifunc-x86-slow-sse4.patch
###
# Patches awaiting upstream approval
@ -243,14 +240,14 @@ Patch2000: fix-locking-in-_IO_cleanup.patch
Patch2002: ldd-system-interp.patch
# PATCH-FIX-UPSTREAM Don't close or flush stdio streams on abort (BZ #15436)
Patch2003: abort-no-flush.patch
# PATCH-FIX-UPSTREAM Properly handle forced elision in pthread_mutex_trylock (BZ #16657)
Patch2004: pthread-mutex-trylock-elision.patch
# PATCH-FIX-UPSTREAM Speedup memset on x86-64 for large block sizes (BZ #16830)
Patch2005: glibc-memset-nontemporal.diff
# PATCH-FIX-UPSTREAM Avoid redundant shift character in iconv output at block boundary (BZ #17197)
Patch2006: ibm93x-redundant-shift-si.patch
# PATCH-FIX-UPSTREAM Filter out PTHREAD_MUTEX_NO_ELISION_NP bit in pthread_mutexattr_gettype (BZ #15790)
Patch2007: pthread-mutexattr-gettype-kind.patch
# PATCH-FIX-UPSTREAM Fix value of O_TMPFILE for architectures with non-default O_DIRECTORY (BZ #17912)
Patch2008: o-tmpfile.patch
# Non-glibc patches
# PATCH-FIX-OPENSUSE Remove debianisms from manpages
@ -452,15 +449,13 @@ rm nscd/s-stamp
%patch304 -p1
%patch306 -p1
%patch1000 -p1
%patch2000 -p1
%patch2002 -p1
%patch2003 -p1
%patch2004 -p1
%patch2005 -p1
%patch2006 -p1
%patch2007 -p1
%patch2008 -p1
%patch3000
@ -827,7 +822,7 @@ cc-base/elf/ldconfig -vn $destdir
cd cc-noelision
destdir=$RPM_BUILD_ROOT/%{_lib}/noelision
mkdir -p $destdir
install -m 755 nptl/libpthread.so $destdir/libpthread-%{glibc_major_version}.so
install -m 755 nptl/libpthread.so $destdir/libpthread-%{version}.so
cd ..
cc-base/elf/ldconfig -vn $destdir
%endif
@ -950,7 +945,7 @@ install -m 644 %{SOURCE21} %{buildroot}/usr/lib/systemd/system
%ifarch armv6hl armv7hl
# Provide compatibility link
ln -s ld-%{glibc_major_version}.so %{buildroot}/lib/ld-linux.so.3
ln -s ld-%{version}.so %{buildroot}/lib/ld-linux.so.3
%endif
# Move getconf to %{_libexecdir}/getconf/ to avoid cross device link
@ -1065,7 +1060,7 @@ exit 0
%doc %{_mandir}/man1/gencat.1.gz
%doc %{_mandir}/man1/getconf.1.gz
%doc %{_mandir}/man5/*
/%{_lib}/ld-%{glibc_major_version}.so
/%{_lib}/ld-%{version}.so
# Each architecture has a different name for the dynamic linker:
%ifarch %arm
@ -1104,58 +1099,58 @@ exit 0
/%{_lib}/ld-linux-aarch64.so.1
%endif
/%{_lib}/libBrokenLocale-%{glibc_major_version}.so
/%{_lib}/libBrokenLocale-%{version}.so
/%{_lib}/libBrokenLocale.so.1
/%{_lib}/libSegFault.so
/%{_lib}/libanl-%{glibc_major_version}.so
/%{_lib}/libanl-%{version}.so
/%{_lib}/libanl.so.1
/%{_lib}/libc-%{glibc_major_version}.so
/%{_lib}/libc-%{version}.so
/%{_lib}/libc.so.6*
/%{_lib}/libcidn-%{glibc_major_version}.so
/%{_lib}/libcidn-%{version}.so
/%{_lib}/libcidn.so.1
/%{_lib}/libcrypt-%{glibc_major_version}.so
/%{_lib}/libcrypt-%{version}.so
/%{_lib}/libcrypt.so.1
/%{_lib}/libowcrypt-%{glibc_major_version}.so
/%{_lib}/libowcrypt-%{version}.so
/%{_lib}/libowcrypt.so.1
/%{_lib}/libdl-%{glibc_major_version}.so
/%{_lib}/libdl-%{version}.so
/%{_lib}/libdl.so.2*
/%{_lib}/libm-%{glibc_major_version}.so
/%{_lib}/libm-%{version}.so
/%{_lib}/libm.so.6*
/%{_lib}/libnsl-%{glibc_major_version}.so
/%{_lib}/libnsl-%{version}.so
/%{_lib}/libnsl.so.1
/%{_lib}/libnss_compat-%{glibc_major_version}.so
/%{_lib}/libnss_compat-%{version}.so
/%{_lib}/libnss_compat.so.2
/%{_lib}/libnss_db-%{glibc_major_version}.so
/%{_lib}/libnss_db-%{version}.so
/%{_lib}/libnss_db.so.2
/%{_lib}/libnss_dns-%{glibc_major_version}.so
/%{_lib}/libnss_dns-%{version}.so
/%{_lib}/libnss_dns.so.2
/%{_lib}/libnss_files-%{glibc_major_version}.so
/%{_lib}/libnss_files-%{version}.so
/%{_lib}/libnss_files.so.2
/%{_lib}/libnss_hesiod-%{glibc_major_version}.so
/%{_lib}/libnss_hesiod-%{version}.so
/%{_lib}/libnss_hesiod.so.2
/%{_lib}/libnss_nis-%{glibc_major_version}.so
/%{_lib}/libnss_nis-%{version}.so
/%{_lib}/libnss_nis.so.2
/%{_lib}/libnss_nisplus-%{glibc_major_version}.so
/%{_lib}/libnss_nisplus-%{version}.so
/%{_lib}/libnss_nisplus.so.2
/%{_lib}/libpthread-%{glibc_major_version}.so
/%{_lib}/libpthread-%{version}.so
/%{_lib}/libpthread.so.0
/%{_lib}/libresolv-%{glibc_major_version}.so
/%{_lib}/libresolv-%{version}.so
/%{_lib}/libresolv.so.2
/%{_lib}/librt-%{glibc_major_version}.so
/%{_lib}/librt-%{version}.so
/%{_lib}/librt.so.1
/%{_lib}/libthread_db-1.0.so
/%{_lib}/libthread_db.so.1
/%{_lib}/libutil-%{glibc_major_version}.so
/%{_lib}/libutil-%{version}.so
/%{_lib}/libutil.so.1
%define optimized_libs() \
%dir %attr(0755,root,root) /%{_lib}/%1\
/%{_lib}/%1/libc-%{glibc_major_version}.so\
/%{_lib}/%1/libc-%{version}.so\
/%{_lib}/%1/libc.so.6*\
/%{_lib}/%1/libm-%{glibc_major_version}.so\
/%{_lib}/%1/libm-%{version}.so\
/%{_lib}/%1/libm.so.6*\
/%{_lib}/%1/libpthread-%{glibc_major_version}.so\
/%{_lib}/%1/libpthread-%{version}.so\
/%{_lib}/%1/libpthread.so.0\
/%{_lib}/%1/librt-%{glibc_major_version}.so\
/%{_lib}/%1/librt-%{version}.so\
/%{_lib}/%1/librt.so.1\
/%{_lib}/%1/libthread_db-1.0.so\
/%{_lib}/%1/libthread_db.so.1

View File

@ -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) 2014 Free Software Foundation, Inc.\n\
Copyright (C) 2015 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\

View File

@ -1,3 +1,22 @@
-------------------------------------------------------------------
Mon Feb 9 09:26:01 UTC 2015 - schwab@suse.de
- Update to glibc 2.21 release.
* A new semaphore algorithm has been implemented in generic C code for all
machines
* Added support for TSX lock elision of pthread mutexes on powerpc32,
powerpc64 and powerpc64le
* Optimized strcpy, stpcpy, strchrnul and strrchr implementations for
AArch64
* i386 memcpy functions optimized with SSE2 unaligned load/store
* New locales: tu_IN, bh_IN, raj_IN, ce_RU
* The obsolete sigvec function has been removed
- Patches from upstream removed
* ifunc-x86-slow-sse4.patch
* pthread-mutex-trylock-elision.patch
- o-tmpfile.patch: Fix value of O_TMPFILE for architectures with
non-default O_DIRECTORY (BZ #17912)
-------------------------------------------------------------------
Tue Oct 28 08:56:47 UTC 2014 - schwab@suse.de

View File

@ -1,7 +1,7 @@
#
# spec file for package glibc
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2015 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
@ -100,10 +100,9 @@ BuildRequires: gd-devel
# 3.1 is the openSUSE 12.1 kernel
%define enablekernel 3.0
Version: 2.20
Version: 2.21
Release: 0
%define glibc_major_version 2.20
%define git_id b8079dd0d360
%define git_id 4e42b5b8f89f
Url: http://www.gnu.org/software/libc/libc.html
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#Source: glibc-%{version}-%{git_id}.tar.xz
@ -232,8 +231,6 @@ Patch306: glibc-fix-double-loopback.diff
###
# Patches from upstream
###
# PATCH-FIX-UPSTREAM Fix misdetected Slow_SSE4_2 cpu feature bit (BZ #17501)
Patch1000: ifunc-x86-slow-sse4.patch
###
# Patches awaiting upstream approval
@ -244,14 +241,14 @@ Patch2000: fix-locking-in-_IO_cleanup.patch
Patch2002: ldd-system-interp.patch
# PATCH-FIX-UPSTREAM Don't close or flush stdio streams on abort (BZ #15436)
Patch2003: abort-no-flush.patch
# PATCH-FIX-UPSTREAM Properly handle forced elision in pthread_mutex_trylock (BZ #16657)
Patch2004: pthread-mutex-trylock-elision.patch
# PATCH-FIX-UPSTREAM Speedup memset on x86-64 for large block sizes (BZ #16830)
Patch2005: glibc-memset-nontemporal.diff
# PATCH-FIX-UPSTREAM Avoid redundant shift character in iconv output at block boundary (BZ #17197)
Patch2006: ibm93x-redundant-shift-si.patch
# PATCH-FIX-UPSTREAM Filter out PTHREAD_MUTEX_NO_ELISION_NP bit in pthread_mutexattr_gettype (BZ #15790)
Patch2007: pthread-mutexattr-gettype-kind.patch
# PATCH-FIX-UPSTREAM Fix value of O_TMPFILE for architectures with non-default O_DIRECTORY (BZ #17912)
Patch2008: o-tmpfile.patch
# Non-glibc patches
# PATCH-FIX-OPENSUSE Remove debianisms from manpages
@ -452,15 +449,13 @@ rm nscd/s-stamp
%patch304 -p1
%patch306 -p1
%patch1000 -p1
%patch2000 -p1
%patch2002 -p1
%patch2003 -p1
%patch2004 -p1
%patch2005 -p1
%patch2006 -p1
%patch2007 -p1
%patch2008 -p1
%patch3000
@ -827,7 +822,7 @@ cc-base/elf/ldconfig -vn $destdir
cd cc-noelision
destdir=$RPM_BUILD_ROOT/%{_lib}/noelision
mkdir -p $destdir
install -m 755 nptl/libpthread.so $destdir/libpthread-%{glibc_major_version}.so
install -m 755 nptl/libpthread.so $destdir/libpthread-%{version}.so
cd ..
cc-base/elf/ldconfig -vn $destdir
%endif
@ -950,7 +945,7 @@ install -m 644 %{SOURCE21} %{buildroot}/usr/lib/systemd/system
%ifarch armv6hl armv7hl
# Provide compatibility link
ln -s ld-%{glibc_major_version}.so %{buildroot}/lib/ld-linux.so.3
ln -s ld-%{version}.so %{buildroot}/lib/ld-linux.so.3
%endif
# Move getconf to %{_libexecdir}/getconf/ to avoid cross device link
@ -1065,7 +1060,7 @@ exit 0
%doc %{_mandir}/man1/gencat.1.gz
%doc %{_mandir}/man1/getconf.1.gz
%doc %{_mandir}/man5/*
/%{_lib}/ld-%{glibc_major_version}.so
/%{_lib}/ld-%{version}.so
# Each architecture has a different name for the dynamic linker:
%ifarch %arm
@ -1104,58 +1099,58 @@ exit 0
/%{_lib}/ld-linux-aarch64.so.1
%endif
/%{_lib}/libBrokenLocale-%{glibc_major_version}.so
/%{_lib}/libBrokenLocale-%{version}.so
/%{_lib}/libBrokenLocale.so.1
/%{_lib}/libSegFault.so
/%{_lib}/libanl-%{glibc_major_version}.so
/%{_lib}/libanl-%{version}.so
/%{_lib}/libanl.so.1
/%{_lib}/libc-%{glibc_major_version}.so
/%{_lib}/libc-%{version}.so
/%{_lib}/libc.so.6*
/%{_lib}/libcidn-%{glibc_major_version}.so
/%{_lib}/libcidn-%{version}.so
/%{_lib}/libcidn.so.1
/%{_lib}/libcrypt-%{glibc_major_version}.so
/%{_lib}/libcrypt-%{version}.so
/%{_lib}/libcrypt.so.1
/%{_lib}/libowcrypt-%{glibc_major_version}.so
/%{_lib}/libowcrypt-%{version}.so
/%{_lib}/libowcrypt.so.1
/%{_lib}/libdl-%{glibc_major_version}.so
/%{_lib}/libdl-%{version}.so
/%{_lib}/libdl.so.2*
/%{_lib}/libm-%{glibc_major_version}.so
/%{_lib}/libm-%{version}.so
/%{_lib}/libm.so.6*
/%{_lib}/libnsl-%{glibc_major_version}.so
/%{_lib}/libnsl-%{version}.so
/%{_lib}/libnsl.so.1
/%{_lib}/libnss_compat-%{glibc_major_version}.so
/%{_lib}/libnss_compat-%{version}.so
/%{_lib}/libnss_compat.so.2
/%{_lib}/libnss_db-%{glibc_major_version}.so
/%{_lib}/libnss_db-%{version}.so
/%{_lib}/libnss_db.so.2
/%{_lib}/libnss_dns-%{glibc_major_version}.so
/%{_lib}/libnss_dns-%{version}.so
/%{_lib}/libnss_dns.so.2
/%{_lib}/libnss_files-%{glibc_major_version}.so
/%{_lib}/libnss_files-%{version}.so
/%{_lib}/libnss_files.so.2
/%{_lib}/libnss_hesiod-%{glibc_major_version}.so
/%{_lib}/libnss_hesiod-%{version}.so
/%{_lib}/libnss_hesiod.so.2
/%{_lib}/libnss_nis-%{glibc_major_version}.so
/%{_lib}/libnss_nis-%{version}.so
/%{_lib}/libnss_nis.so.2
/%{_lib}/libnss_nisplus-%{glibc_major_version}.so
/%{_lib}/libnss_nisplus-%{version}.so
/%{_lib}/libnss_nisplus.so.2
/%{_lib}/libpthread-%{glibc_major_version}.so
/%{_lib}/libpthread-%{version}.so
/%{_lib}/libpthread.so.0
/%{_lib}/libresolv-%{glibc_major_version}.so
/%{_lib}/libresolv-%{version}.so
/%{_lib}/libresolv.so.2
/%{_lib}/librt-%{glibc_major_version}.so
/%{_lib}/librt-%{version}.so
/%{_lib}/librt.so.1
/%{_lib}/libthread_db-1.0.so
/%{_lib}/libthread_db.so.1
/%{_lib}/libutil-%{glibc_major_version}.so
/%{_lib}/libutil-%{version}.so
/%{_lib}/libutil.so.1
%define optimized_libs() \
%dir %attr(0755,root,root) /%{_lib}/%1\
/%{_lib}/%1/libc-%{glibc_major_version}.so\
/%{_lib}/%1/libc-%{version}.so\
/%{_lib}/%1/libc.so.6*\
/%{_lib}/%1/libm-%{glibc_major_version}.so\
/%{_lib}/%1/libm-%{version}.so\
/%{_lib}/%1/libm.so.6*\
/%{_lib}/%1/libpthread-%{glibc_major_version}.so\
/%{_lib}/%1/libpthread-%{version}.so\
/%{_lib}/%1/libpthread.so.0\
/%{_lib}/%1/librt-%{glibc_major_version}.so\
/%{_lib}/%1/librt-%{version}.so\
/%{_lib}/%1/librt.so.1\
/%{_lib}/%1/libthread_db-1.0.so\
/%{_lib}/%1/libthread_db.so.1

View File

@ -1,111 +0,0 @@
2014-10-27 Andreas Schwab <schwab@suse.de>
[BZ #17501]
* sysdeps/i386/i686/multiarch/strcasecmp.S (__strcasecmp): Fix
check for Slow_SSE4_2 feature bit.
* sysdeps/i386/i686/multiarch/strcmp.S (STRCMP): Likewise.
* sysdeps/i386/i686/multiarch/strncase.S (__strncasecmp): Likewise.
* sysdeps/x86_64/multiarch/strcmp.S (STRCMP, __strcascmp):
Likewise. Fix check for Fast_Unaligned_Load feature bit.
Index: glibc-2.20/sysdeps/i386/i686/multiarch/strcasecmp.S
===================================================================
--- glibc-2.20.orig/sysdeps/i386/i686/multiarch/strcasecmp.S
+++ glibc-2.20/sysdeps/i386/i686/multiarch/strcasecmp.S
@@ -37,7 +37,7 @@ ENTRY(__strcasecmp)
leal __strcasecmp_ssse3@GOTOFF(%ebx), %eax
testl $bit_SSE4_2, CPUID_OFFSET+index_SSE4_2+__cpu_features@GOTOFF(%ebx)
jz 2f
- testl $bit_Slow_SSE4_2, CPUID_OFFSET+index_Slow_SSE4_2+__cpu_features@GOTOFF(%ebx)
+ testl $bit_Slow_SSE4_2, FEATURE_OFFSET+index_Slow_SSE4_2+__cpu_features@GOTOFF(%ebx)
jnz 2f
leal __strcasecmp_sse4_2@GOTOFF(%ebx), %eax
2: popl %ebx
@@ -58,7 +58,7 @@ ENTRY(__strcasecmp)
leal __strcasecmp_ssse3, %eax
testl $bit_SSE4_2, CPUID_OFFSET+index_SSE4_2+__cpu_features
jz 2f
- testl $bit_Slow_SSE4_2, CPUID_OFFSET+index_Slow_SSE4_2+__cpu_features
+ testl $bit_Slow_SSE4_2, FEATURE_OFFSET+index_Slow_SSE4_2+__cpu_features
jnz 2f
leal __strcasecmp_sse4_2, %eax
2: ret
Index: glibc-2.20/sysdeps/i386/i686/multiarch/strcmp.S
===================================================================
--- glibc-2.20.orig/sysdeps/i386/i686/multiarch/strcmp.S
+++ glibc-2.20/sysdeps/i386/i686/multiarch/strcmp.S
@@ -68,7 +68,7 @@ ENTRY(STRCMP)
leal __STRCMP_SSSE3@GOTOFF(%ebx), %eax
testl $bit_SSE4_2, CPUID_OFFSET+index_SSE4_2+__cpu_features@GOTOFF(%ebx)
jz 2f
- testl $bit_Slow_SSE4_2, CPUID_OFFSET+index_Slow_SSE4_2+__cpu_features@GOTOFF(%ebx)
+ testl $bit_Slow_SSE4_2, FEATURE_OFFSET+index_Slow_SSE4_2+__cpu_features@GOTOFF(%ebx)
jnz 2f
leal __STRCMP_SSE4_2@GOTOFF(%ebx), %eax
2: popl %ebx
@@ -89,7 +89,7 @@ ENTRY(STRCMP)
leal __STRCMP_SSSE3, %eax
testl $bit_SSE4_2, CPUID_OFFSET+index_SSE4_2+__cpu_features
jz 2f
- testl $bit_Slow_SSE4_2, CPUID_OFFSET+index_Slow_SSE4_2+__cpu_features
+ testl $bit_Slow_SSE4_2, FEATURE_OFFSET+index_Slow_SSE4_2+__cpu_features
jnz 2f
leal __STRCMP_SSE4_2, %eax
2: ret
Index: glibc-2.20/sysdeps/i386/i686/multiarch/strncase.S
===================================================================
--- glibc-2.20.orig/sysdeps/i386/i686/multiarch/strncase.S
+++ glibc-2.20/sysdeps/i386/i686/multiarch/strncase.S
@@ -37,7 +37,7 @@ ENTRY(__strncasecmp)
leal __strncasecmp_ssse3@GOTOFF(%ebx), %eax
testl $bit_SSE4_2, CPUID_OFFSET+index_SSE4_2+__cpu_features@GOTOFF(%ebx)
jz 2f
- testl $bit_Slow_SSE4_2, CPUID_OFFSET+index_Slow_SSE4_2+__cpu_features@GOTOFF(%ebx)
+ testl $bit_Slow_SSE4_2, FEATURE_OFFSET+index_Slow_SSE4_2+__cpu_features@GOTOFF(%ebx)
jnz 2f
leal __strncasecmp_sse4_2@GOTOFF(%ebx), %eax
2: popl %ebx
@@ -58,7 +58,7 @@ ENTRY(__strncasecmp)
leal __strncasecmp_ssse3, %eax
testl $bit_SSE4_2, CPUID_OFFSET+index_SSE4_2+__cpu_features
jz 2f
- testl $bit_Slow_SSE4_2, CPUID_OFFSET+index_Slow_SSE4_2+__cpu_features
+ testl $bit_Slow_SSE4_2, FEATURE_OFFSET+index_Slow_SSE4_2+__cpu_features
jnz 2f
leal __strncasecmp_sse4_2, %eax
2: ret
Index: glibc-2.20/sysdeps/x86_64/multiarch/strcmp.S
===================================================================
--- glibc-2.20.orig/sysdeps/x86_64/multiarch/strcmp.S
+++ glibc-2.20/sysdeps/x86_64/multiarch/strcmp.S
@@ -91,10 +91,10 @@ ENTRY(STRCMP)
1:
#ifdef USE_AS_STRCMP
leaq __strcmp_sse2_unaligned(%rip), %rax
- testl $bit_Fast_Unaligned_Load, __cpu_features+CPUID_OFFSET+index_Fast_Unaligned_Load(%rip)
+ testl $bit_Fast_Unaligned_Load, __cpu_features+FEATURE_OFFSET+index_Fast_Unaligned_Load(%rip)
jnz 3f
#else
- testl $bit_Slow_SSE4_2, __cpu_features+CPUID_OFFSET+index_Slow_SSE4_2(%rip)
+ testl $bit_Slow_SSE4_2, __cpu_features+FEATURE_OFFSET+index_Slow_SSE4_2(%rip)
jnz 2f
leaq STRCMP_SSE42(%rip), %rax
testl $bit_SSE4_2, __cpu_features+CPUID_OFFSET+index_SSE4_2(%rip)
@@ -120,7 +120,7 @@ ENTRY(__strcasecmp)
testl $bit_AVX_Usable, __cpu_features+FEATURE_OFFSET+index_AVX_Usable(%rip)
jnz 3f
# endif
- testl $bit_Slow_SSE4_2, __cpu_features+CPUID_OFFSET+index_Slow_SSE4_2(%rip)
+ testl $bit_Slow_SSE4_2, __cpu_features+FEATURE_OFFSET+index_Slow_SSE4_2(%rip)
jnz 2f
leaq __strcasecmp_sse42(%rip), %rax
testl $bit_SSE4_2, __cpu_features+CPUID_OFFSET+index_SSE4_2(%rip)
@@ -146,7 +146,7 @@ ENTRY(__strncasecmp)
testl $bit_AVX_Usable, __cpu_features+FEATURE_OFFSET+index_AVX_Usable(%rip)
jnz 3f
# endif
- testl $bit_Slow_SSE4_2, __cpu_features+CPUID_OFFSET+index_Slow_SSE4_2(%rip)
+ testl $bit_Slow_SSE4_2, __cpu_features+FEATURE_OFFSET+index_Slow_SSE4_2(%rip)
jnz 2f
leaq __strncasecmp_sse42(%rip), %rax
testl $bit_SSE4_2, __cpu_features+CPUID_OFFSET+index_SSE4_2(%rip)

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3970c86754545a65f32f6595c3b638b9966e901827f2bc01db552b9cf9cf5bfc
size 1818
oid sha256:6c47b7dccf2d318f2e2144322e6a931c46a7507f0e77a64fed3623860e10c5ab
size 1833

29
o-tmpfile.patch Normal file
View File

@ -0,0 +1,29 @@
From 127ffc81a8565bebd134c0f43afba5ae7997bf97 Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab@suse.de>
Date: Sun, 1 Feb 2015 14:04:15 +0100
Subject: [PATCH] Fix value of O_TMPFILE for architectures with non-default
O_DIRECTORY
[BZ #17912]
* sysdeps/unix/sysv/linux/bits/fcntl-linux.h (__O_TMPFILE): Define
in terms of __O_DIRECTORY.
---
sysdeps/unix/sysv/linux/bits/fcntl-linux.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sysdeps/unix/sysv/linux/bits/fcntl-linux.h b/sysdeps/unix/sysv/linux/bits/fcntl-linux.h
index 3d28c84..d2baeb3 100644
--- a/sysdeps/unix/sysv/linux/bits/fcntl-linux.h
+++ b/sysdeps/unix/sysv/linux/bits/fcntl-linux.h
@@ -97,7 +97,7 @@
# define __O_DSYNC 010000
#endif
#ifndef __O_TMPFILE
-# define __O_TMPFILE 020200000
+# define __O_TMPFILE (020000000 | __O_DIRECTORY)
#endif
#ifndef F_GETLK
--
2.2.2

View File

@ -1,49 +0,0 @@
[PATCH] Properly handle forced elision in pthread_mutex_trylock
BZ #16657
* nptl/pthread_mutex_trylock.c (__pthread_mutex_trylock): Use
FORCE_ELISION instead of DO_ELISION.
* sysdeps/unix/sysv/linux/x86/force-elision.h (DO_ELISION):
Remove.
Index: glibc-2.19.90/nptl/pthread_mutex_trylock.c
===================================================================
--- glibc-2.19.90.orig/nptl/pthread_mutex_trylock.c
+++ glibc-2.19.90/nptl/pthread_mutex_trylock.c
@@ -26,8 +26,8 @@
#define lll_trylock_elision(a,t) lll_trylock(a)
#endif
-#ifndef DO_ELISION
-#define DO_ELISION(m) 0
+#ifndef FORCE_ELISION
+#define FORCE_ELISION(m, s)
#endif
/* We don't force elision in trylock, because this can lead to inconsistent
@@ -77,8 +77,7 @@ __pthread_mutex_trylock (mutex)
return 0;
case PTHREAD_MUTEX_TIMED_NP:
- if (DO_ELISION (mutex))
- goto elision;
+ FORCE_ELISION (mutex, goto elision);
/*FALL THROUGH*/
case PTHREAD_MUTEX_ADAPTIVE_NP:
case PTHREAD_MUTEX_ERRORCHECK_NP:
Index: glibc-2.19.90/sysdeps/unix/sysv/linux/x86/force-elision.h
===================================================================
--- glibc-2.19.90.orig/sysdeps/unix/sysv/linux/x86/force-elision.h
+++ glibc-2.19.90/sysdeps/unix/sysv/linux/x86/force-elision.h
@@ -16,11 +16,6 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-/* Check for elision on this lock without upgrading. */
-#define DO_ELISION(m) \
- (__pthread_force_elision \
- && (m->__data.__kind & PTHREAD_MUTEX_NO_ELISION_NP) == 0) \
-
/* Automatically enable elision for existing user lock kinds. */
#define FORCE_ELISION(m, s) \
if (__pthread_force_elision \

View File

@ -24,7 +24,7 @@ Index: glibc-2.19/nptl/Makefile
@@ -253,7 +253,7 @@ tests = tst-typesizes \
tst-exit1 tst-exit2 tst-exit3 \
tst-stdio1 tst-stdio2 \
tst-stack1 tst-stack2 tst-stack3 tst-pthread-getattr \
tst-stack1 tst-stack2 tst-stack3 tst-stack4 tst-pthread-getattr \
- tst-pthread-attr-affinity \
+ tst-pthread-attr-affinity tst-pthread-mutexattr \
tst-unload \