forked from pool/glibc
Accepting request 258649 from home:Andreas_Schwab:Factory
- Update to crypt_blowfish 1.3. * Add support for the $2b$ prefix. - ifunc-x86-slow-sse4.patch: Fix misdetected Slow_SSE4_2 cpu feature bit (BZ #17501) OBS-URL: https://build.opensuse.org/request/show/258649 OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=389
This commit is contained in:
parent
d2f37bcdab
commit
fe024e3ae1
@ -9,10 +9,10 @@ Subject: [PATCH crypt_blowfish] support for sha256 and sha512
|
|||||||
wrapper.c | 23 +++++++++++++++++++++
|
wrapper.c | 23 +++++++++++++++++++++
|
||||||
3 files changed, 95 insertions(+), 0 deletions(-)
|
3 files changed, 95 insertions(+), 0 deletions(-)
|
||||||
|
|
||||||
Index: crypt_blowfish-1.2/crypt.3
|
Index: crypt_blowfish-1.3/crypt.3
|
||||||
===================================================================
|
===================================================================
|
||||||
--- crypt_blowfish-1.2.orig/crypt.3
|
--- crypt_blowfish-1.3.orig/crypt.3
|
||||||
+++ crypt_blowfish-1.2/crypt.3
|
+++ crypt_blowfish-1.3/crypt.3
|
||||||
@@ -399,6 +399,20 @@ too low for the currently available hard
|
@@ -399,6 +399,20 @@ too low for the currently available hard
|
||||||
.hash "$1$" "\e$1\e$[^$]{1,8}\e$[./0-9A-Za-z]{22}" unlimited 8 "" 128 "6 to 48" 1000
|
.hash "$1$" "\e$1\e$[^$]{1,8}\e$[./0-9A-Za-z]{22}" unlimited 8 "" 128 "6 to 48" 1000
|
||||||
.PP
|
.PP
|
||||||
@ -34,10 +34,10 @@ Index: crypt_blowfish-1.2/crypt.3
|
|||||||
.BR "OpenBSD-style Blowfish-based" " (" bcrypt )
|
.BR "OpenBSD-style Blowfish-based" " (" bcrypt )
|
||||||
.br
|
.br
|
||||||
.B bcrypt
|
.B bcrypt
|
||||||
Index: crypt_blowfish-1.2/crypt_gensalt.c
|
Index: crypt_blowfish-1.3/crypt_gensalt.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- crypt_blowfish-1.2.orig/crypt_gensalt.c
|
--- crypt_blowfish-1.3.orig/crypt_gensalt.c
|
||||||
+++ crypt_blowfish-1.2/crypt_gensalt.c
|
+++ crypt_blowfish-1.3/crypt_gensalt.c
|
||||||
@@ -19,6 +19,7 @@
|
@@ -19,6 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -107,10 +107,10 @@ Index: crypt_blowfish-1.2/crypt_gensalt.c
|
|||||||
+ errno = ENOMEM;
|
+ errno = ENOMEM;
|
||||||
+ return NULL;
|
+ return NULL;
|
||||||
+}
|
+}
|
||||||
Index: crypt_blowfish-1.2/crypt_gensalt.h
|
Index: crypt_blowfish-1.3/crypt_gensalt.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- crypt_blowfish-1.2.orig/crypt_gensalt.h
|
--- crypt_blowfish-1.3.orig/crypt_gensalt.h
|
||||||
+++ crypt_blowfish-1.2/crypt_gensalt.h
|
+++ crypt_blowfish-1.3/crypt_gensalt.h
|
||||||
@@ -26,5 +26,7 @@ extern char *_crypt_gensalt_extended_rn(
|
@@ -26,5 +26,7 @@ extern char *_crypt_gensalt_extended_rn(
|
||||||
const char *input, int size, char *output, int output_size);
|
const char *input, int size, char *output, int output_size);
|
||||||
extern char *_crypt_gensalt_md5_rn(const char *prefix, unsigned long count,
|
extern char *_crypt_gensalt_md5_rn(const char *prefix, unsigned long count,
|
||||||
@ -119,10 +119,10 @@ Index: crypt_blowfish-1.2/crypt_gensalt.h
|
|||||||
+ const char *input, int size, char *output, int output_size);
|
+ const char *input, int size, char *output, int output_size);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
Index: crypt_blowfish-1.2/wrapper.c
|
Index: crypt_blowfish-1.3/wrapper.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- crypt_blowfish-1.2.orig/wrapper.c
|
--- crypt_blowfish-1.3.orig/wrapper.c
|
||||||
+++ crypt_blowfish-1.2/wrapper.c
|
+++ crypt_blowfish-1.3/wrapper.c
|
||||||
@@ -50,6 +50,10 @@
|
@@ -50,6 +50,10 @@
|
||||||
#include "crypt.h"
|
#include "crypt.h"
|
||||||
extern char *__md5_crypt_r(const char *key, const char *salt,
|
extern char *__md5_crypt_r(const char *key, const char *salt,
|
||||||
@ -169,6 +169,6 @@ Index: crypt_blowfish-1.2/wrapper.c
|
|||||||
+ if (!strncmp(prefix, "$5$", 3) || !strncmp(prefix, "$6$", 3))
|
+ if (!strncmp(prefix, "$5$", 3) || !strncmp(prefix, "$6$", 3))
|
||||||
+ use = _crypt_gensalt_sha2_rn;
|
+ use = _crypt_gensalt_sha2_rn;
|
||||||
+ else
|
+ else
|
||||||
if (!strncmp(prefix, "$2a$", 4) || !strncmp(prefix, "$2y$", 4))
|
if (!strncmp(prefix, "$2a$", 4) || !strncmp(prefix, "$2b$", 4) ||
|
||||||
|
!strncmp(prefix, "$2y$", 4))
|
||||||
use = _crypt_gensalt_blowfish_rn;
|
use = _crypt_gensalt_blowfish_rn;
|
||||||
else
|
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:12a3455700d4795f5a99e6fca54c782688d3785e6525cbfe5129dcc363858e27
|
|
||||||
size 29757
|
|
@ -1,10 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
Version: GnuPG v1.4.10 (GNU/Linux)
|
|
||||||
Comment: http://www.openwall.com/signatures/
|
|
||||||
|
|
||||||
iQCVAwUATiLawHK5fbEpUCnxAQIT4wP9GTUroM4r21oggeW0k3j5vICwSVHV5BbJ
|
|
||||||
MBOfliwa1tW9JNh/dEA9GHiPeVWXr/KNWm9/3bSYGDqfsYMlQ7x8w/CCUrS/gvpv
|
|
||||||
XtvwxUE5juAH5wy4+6oV1gBWiISWGOUcCqkgxPVZKOjlSV4c7kvr10JwqYdnqjK9
|
|
||||||
RT/A2FgAxM4=
|
|
||||||
=K4Xs
|
|
||||||
-----END PGP SIGNATURE-----
|
|
3
crypt_blowfish-1.3.tar.gz
Normal file
3
crypt_blowfish-1.3.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:83fa01fca6996fe8d882b7f8e9ba0305a5664936100b01481ea3c6a8ce8d72fd
|
||||||
|
size 30310
|
10
crypt_blowfish-1.3.tar.gz.sign
Normal file
10
crypt_blowfish-1.3.tar.gz.sign
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
Version: GnuPG v1
|
||||||
|
Comment: http://www.openwall.com/signatures/
|
||||||
|
|
||||||
|
iQCVAwUAU71f6nK5fbEpUCnxAQJCewQAqvRc4UbpJyJlYR0sbVbIjLPc6+3s9KQ9
|
||||||
|
9LUrDkNJLlWli/4i0FXiFgRohNgzSYwaMRqbrsxZ+Dbp5XHKgjf3wzyhGGDvr0wb
|
||||||
|
fLvIVrIHO/XgeBz08h6feFsxD+er5iy4FMBVe1MRMw6IiJNtWsahQLP5EjddfEwD
|
||||||
|
XvIct4zt2Cc=
|
||||||
|
=cncr
|
||||||
|
-----END PGP SIGNATURE-----
|
@ -1,8 +1,8 @@
|
|||||||
Index: crypt_blowfish-1.2/crypt_blowfish.c
|
Index: crypt_blowfish-1.3/crypt_blowfish.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- crypt_blowfish-1.2.orig/crypt_blowfish.c
|
--- crypt_blowfish-1.3.orig/crypt_blowfish.c
|
||||||
+++ crypt_blowfish-1.2/crypt_blowfish.c
|
+++ crypt_blowfish-1.3/crypt_blowfish.c
|
||||||
@@ -872,31 +872,3 @@ char *_crypt_blowfish_rn(const char *key
|
@@ -877,31 +877,3 @@ char *_crypt_blowfish_rn(const char *key
|
||||||
__set_errno(EINVAL); /* pretend we don't support this hash type */
|
__set_errno(EINVAL); /* pretend we don't support this hash type */
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -13,7 +13,7 @@ Index: crypt_blowfish-1.2/crypt_blowfish.c
|
|||||||
- if (size < 16 || output_size < 7 + 22 + 1 ||
|
- if (size < 16 || output_size < 7 + 22 + 1 ||
|
||||||
- (count && (count < 4 || count > 31)) ||
|
- (count && (count < 4 || count > 31)) ||
|
||||||
- prefix[0] != '$' || prefix[1] != '2' ||
|
- prefix[0] != '$' || prefix[1] != '2' ||
|
||||||
- (prefix[2] != 'a' && prefix[2] != 'y')) {
|
- (prefix[2] != 'a' && prefix[2] != 'b' && prefix[2] != 'y')) {
|
||||||
- if (output_size > 0) output[0] = '\0';
|
- if (output_size > 0) output[0] = '\0';
|
||||||
- __set_errno((output_size < 7 + 22 + 1) ? ERANGE : EINVAL);
|
- __set_errno((output_size < 7 + 22 + 1) ? ERANGE : EINVAL);
|
||||||
- return NULL;
|
- return NULL;
|
||||||
@ -34,10 +34,10 @@ Index: crypt_blowfish-1.2/crypt_blowfish.c
|
|||||||
-
|
-
|
||||||
- return output;
|
- return output;
|
||||||
-}
|
-}
|
||||||
Index: crypt_blowfish-1.2/crypt_blowfish.h
|
Index: crypt_blowfish-1.3/crypt_blowfish.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- crypt_blowfish-1.2.orig/crypt_blowfish.h
|
--- crypt_blowfish-1.3.orig/crypt_blowfish.h
|
||||||
+++ crypt_blowfish-1.2/crypt_blowfish.h
|
+++ crypt_blowfish-1.3/crypt_blowfish.h
|
||||||
@@ -20,8 +20,5 @@
|
@@ -20,8 +20,5 @@
|
||||||
extern int _crypt_output_magic(const char *setting, char *output, int size);
|
extern int _crypt_output_magic(const char *setting, char *output, int size);
|
||||||
extern char *_crypt_blowfish_rn(const char *key, const char *setting,
|
extern char *_crypt_blowfish_rn(const char *key, const char *setting,
|
||||||
@ -47,10 +47,10 @@ Index: crypt_blowfish-1.2/crypt_blowfish.h
|
|||||||
- const char *input, int size, char *output, int output_size);
|
- const char *input, int size, char *output, int output_size);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
Index: crypt_blowfish-1.2/crypt_gensalt.c
|
Index: crypt_blowfish-1.3/crypt_gensalt.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- crypt_blowfish-1.2.orig/crypt_gensalt.c
|
--- crypt_blowfish-1.3.orig/crypt_gensalt.c
|
||||||
+++ crypt_blowfish-1.2/crypt_gensalt.c
|
+++ crypt_blowfish-1.3/crypt_gensalt.c
|
||||||
@@ -20,6 +20,7 @@
|
@@ -20,6 +20,7 @@
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@ -108,7 +108,7 @@ Index: crypt_blowfish-1.2/crypt_gensalt.c
|
|||||||
+ if (size < 16 || output_size < 7 + 22 + 1 ||
|
+ if (size < 16 || output_size < 7 + 22 + 1 ||
|
||||||
+ (count && (count < 4 || count > 31)) ||
|
+ (count && (count < 4 || count > 31)) ||
|
||||||
+ prefix[0] != '$' || prefix[1] != '2' ||
|
+ prefix[0] != '$' || prefix[1] != '2' ||
|
||||||
+ (prefix[2] != 'a' && prefix[2] != 'y')) {
|
+ (prefix[2] != 'a' && prefix[2] != 'b' && prefix[2] != 'y')) {
|
||||||
+ if (output_size > 0) output[0] = '\0';
|
+ if (output_size > 0) output[0] = '\0';
|
||||||
+ __set_errno((output_size < 7 + 22 + 1) ? ERANGE : EINVAL);
|
+ __set_errno((output_size < 7 + 22 + 1) ? ERANGE : EINVAL);
|
||||||
+ return NULL;
|
+ return NULL;
|
||||||
@ -129,10 +129,10 @@ Index: crypt_blowfish-1.2/crypt_gensalt.c
|
|||||||
+
|
+
|
||||||
+ return output;
|
+ return output;
|
||||||
+}
|
+}
|
||||||
Index: crypt_blowfish-1.2/crypt_gensalt.h
|
Index: crypt_blowfish-1.3/crypt_gensalt.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- crypt_blowfish-1.2.orig/crypt_gensalt.h
|
--- crypt_blowfish-1.3.orig/crypt_gensalt.h
|
||||||
+++ crypt_blowfish-1.2/crypt_gensalt.h
|
+++ crypt_blowfish-1.3/crypt_gensalt.h
|
||||||
@@ -28,5 +28,8 @@ extern char *_crypt_gensalt_md5_rn(const
|
@@ -28,5 +28,8 @@ extern char *_crypt_gensalt_md5_rn(const
|
||||||
const char *input, int size, char *output, int output_size);
|
const char *input, int size, char *output, int output_size);
|
||||||
extern char *_crypt_gensalt_sha2_rn(const char *prefix, unsigned long count,
|
extern char *_crypt_gensalt_sha2_rn(const char *prefix, unsigned long count,
|
||||||
@ -142,11 +142,11 @@ Index: crypt_blowfish-1.2/crypt_gensalt.h
|
|||||||
+ const char *input, int size, char *output, int output_size);
|
+ const char *input, int size, char *output, int output_size);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
Index: crypt_blowfish-1.2/wrapper-gensalt.c
|
Index: crypt_blowfish-1.3/wrapper-gensalt.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ crypt_blowfish-1.2/wrapper-gensalt.c
|
+++ crypt_blowfish-1.3/wrapper-gensalt.c
|
||||||
@@ -0,0 +1,113 @@
|
@@ -0,0 +1,114 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Written by Solar Designer <solar at openwall.com> in 2000-2011.
|
+ * Written by Solar Designer <solar at openwall.com> in 2000-2011.
|
||||||
+ * No copyright is claimed, and the software is hereby placed in the public
|
+ * No copyright is claimed, and the software is hereby placed in the public
|
||||||
@ -202,7 +202,8 @@ Index: crypt_blowfish-1.2/wrapper-gensalt.c
|
|||||||
+ if (!strncmp(prefix, "$5$", 3) || !strncmp(prefix, "$6$", 3))
|
+ if (!strncmp(prefix, "$5$", 3) || !strncmp(prefix, "$6$", 3))
|
||||||
+ use = _crypt_gensalt_sha2_rn;
|
+ use = _crypt_gensalt_sha2_rn;
|
||||||
+ else
|
+ else
|
||||||
+ if (!strncmp(prefix, "$2a$", 4) || !strncmp(prefix, "$2y$", 4))
|
+ if (!strncmp(prefix, "$2a$", 4) || !strncmp(prefix, "$2b$", 4) ||
|
||||||
|
+ !strncmp(prefix, "$2y$", 4))
|
||||||
+ use = _crypt_gensalt_blowfish_rn;
|
+ use = _crypt_gensalt_blowfish_rn;
|
||||||
+ else
|
+ else
|
||||||
+ if (!strncmp(prefix, "$1$", 3))
|
+ if (!strncmp(prefix, "$1$", 3))
|
||||||
@ -260,10 +261,10 @@ Index: crypt_blowfish-1.2/wrapper-gensalt.c
|
|||||||
+weak_alias(__crypt_gensalt, crypt_gensalt)
|
+weak_alias(__crypt_gensalt, crypt_gensalt)
|
||||||
+#endif
|
+#endif
|
||||||
+
|
+
|
||||||
Index: crypt_blowfish-1.2/wrapper.c
|
Index: crypt_blowfish-1.3/wrapper.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- crypt_blowfish-1.2.orig/wrapper.c
|
--- crypt_blowfish-1.3.orig/wrapper.c
|
||||||
+++ crypt_blowfish-1.2/wrapper.c
|
+++ crypt_blowfish-1.3/wrapper.c
|
||||||
@@ -35,7 +35,6 @@
|
@@ -35,7 +35,6 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -280,7 +281,7 @@ Index: crypt_blowfish-1.2/wrapper.c
|
|||||||
|
|
||||||
#if defined(__GLIBC__) && defined(_LIBC)
|
#if defined(__GLIBC__) && defined(_LIBC)
|
||||||
/* crypt.h from glibc-crypt-2.1 will define struct crypt_data for us */
|
/* crypt.h from glibc-crypt-2.1 will define struct crypt_data for us */
|
||||||
@@ -209,88 +207,11 @@ char *crypt(const char *key, const char
|
@@ -209,89 +207,11 @@ char *crypt(const char *key, const char
|
||||||
crypt_rn(key, setting, output, sizeof(output)),
|
crypt_rn(key, setting, output, sizeof(output)),
|
||||||
setting, output, sizeof(output));
|
setting, output, sizeof(output));
|
||||||
}
|
}
|
||||||
@ -306,7 +307,8 @@ Index: crypt_blowfish-1.2/wrapper.c
|
|||||||
- if (!strncmp(prefix, "$5$", 3) || !strncmp(prefix, "$6$", 3))
|
- if (!strncmp(prefix, "$5$", 3) || !strncmp(prefix, "$6$", 3))
|
||||||
- use = _crypt_gensalt_sha2_rn;
|
- use = _crypt_gensalt_sha2_rn;
|
||||||
- else
|
- else
|
||||||
- if (!strncmp(prefix, "$2a$", 4) || !strncmp(prefix, "$2y$", 4))
|
- if (!strncmp(prefix, "$2a$", 4) || !strncmp(prefix, "$2b$", 4) ||
|
||||||
|
- !strncmp(prefix, "$2y$", 4))
|
||||||
- use = _crypt_gensalt_blowfish_rn;
|
- use = _crypt_gensalt_blowfish_rn;
|
||||||
- else
|
- else
|
||||||
- if (!strncmp(prefix, "$1$", 3))
|
- if (!strncmp(prefix, "$1$", 3))
|
||||||
|
@ -1,3 +1,11 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Oct 28 08:56:47 UTC 2014 - schwab@suse.de
|
||||||
|
|
||||||
|
- Update to crypt_blowfish 1.3.
|
||||||
|
* Add support for the $2b$ prefix.
|
||||||
|
- ifunc-x86-slow-sse4.patch: Fix misdetected Slow_SSE4_2 cpu feature bit
|
||||||
|
(BZ #17501)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Sep 8 09:48:26 UTC 2014 - schwab@suse.de
|
Mon Sep 8 09:48:26 UTC 2014 - schwab@suse.de
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
# It will avoid building some parts of glibc
|
# It will avoid building some parts of glibc
|
||||||
%bcond_with fast_build
|
%bcond_with fast_build
|
||||||
|
|
||||||
%define crypt_bf_version 1.2
|
%define crypt_bf_version 1.3
|
||||||
|
|
||||||
Name: glibc-testsuite
|
Name: glibc-testsuite
|
||||||
%define normal_build ("%{name}" == "glibc")
|
%define normal_build ("%{name}" == "glibc")
|
||||||
@ -232,6 +232,8 @@ Patch306: glibc-fix-double-loopback.diff
|
|||||||
###
|
###
|
||||||
# Patches from upstream
|
# 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
|
# Patches awaiting upstream approval
|
||||||
@ -450,6 +452,8 @@ rm nscd/s-stamp
|
|||||||
%patch304 -p1
|
%patch304 -p1
|
||||||
%patch306 -p1
|
%patch306 -p1
|
||||||
|
|
||||||
|
%patch1000 -p1
|
||||||
|
|
||||||
%patch2000 -p1
|
%patch2000 -p1
|
||||||
%patch2002 -p1
|
%patch2002 -p1
|
||||||
%patch2003 -p1
|
%patch2003 -p1
|
||||||
|
@ -1,3 +1,11 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Oct 28 08:56:47 UTC 2014 - schwab@suse.de
|
||||||
|
|
||||||
|
- Update to crypt_blowfish 1.3.
|
||||||
|
* Add support for the $2b$ prefix.
|
||||||
|
- ifunc-x86-slow-sse4.patch: Fix misdetected Slow_SSE4_2 cpu feature bit
|
||||||
|
(BZ #17501)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Sep 8 09:48:26 UTC 2014 - schwab@suse.de
|
Mon Sep 8 09:48:26 UTC 2014 - schwab@suse.de
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
# It will avoid building some parts of glibc
|
# It will avoid building some parts of glibc
|
||||||
%bcond_with fast_build
|
%bcond_with fast_build
|
||||||
|
|
||||||
%define crypt_bf_version 1.2
|
%define crypt_bf_version 1.3
|
||||||
|
|
||||||
Name: glibc-utils
|
Name: glibc-utils
|
||||||
%define normal_build ("%{name}" == "glibc")
|
%define normal_build ("%{name}" == "glibc")
|
||||||
@ -231,6 +231,8 @@ Patch306: glibc-fix-double-loopback.diff
|
|||||||
###
|
###
|
||||||
# Patches from upstream
|
# 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
|
# Patches awaiting upstream approval
|
||||||
@ -450,6 +452,8 @@ rm nscd/s-stamp
|
|||||||
%patch304 -p1
|
%patch304 -p1
|
||||||
%patch306 -p1
|
%patch306 -p1
|
||||||
|
|
||||||
|
%patch1000 -p1
|
||||||
|
|
||||||
%patch2000 -p1
|
%patch2000 -p1
|
||||||
%patch2002 -p1
|
%patch2002 -p1
|
||||||
%patch2003 -p1
|
%patch2003 -p1
|
||||||
|
@ -1,3 +1,11 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Oct 28 08:56:47 UTC 2014 - schwab@suse.de
|
||||||
|
|
||||||
|
- Update to crypt_blowfish 1.3.
|
||||||
|
* Add support for the $2b$ prefix.
|
||||||
|
- ifunc-x86-slow-sse4.patch: Fix misdetected Slow_SSE4_2 cpu feature bit
|
||||||
|
(BZ #17501)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Sep 8 09:48:26 UTC 2014 - schwab@suse.de
|
Mon Sep 8 09:48:26 UTC 2014 - schwab@suse.de
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
# It will avoid building some parts of glibc
|
# It will avoid building some parts of glibc
|
||||||
%bcond_with fast_build
|
%bcond_with fast_build
|
||||||
|
|
||||||
%define crypt_bf_version 1.2
|
%define crypt_bf_version 1.3
|
||||||
|
|
||||||
Name: glibc
|
Name: glibc
|
||||||
%define normal_build ("%{name}" == "glibc")
|
%define normal_build ("%{name}" == "glibc")
|
||||||
@ -232,6 +232,8 @@ Patch306: glibc-fix-double-loopback.diff
|
|||||||
###
|
###
|
||||||
# Patches from upstream
|
# 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
|
# Patches awaiting upstream approval
|
||||||
@ -450,6 +452,8 @@ rm nscd/s-stamp
|
|||||||
%patch304 -p1
|
%patch304 -p1
|
||||||
%patch306 -p1
|
%patch306 -p1
|
||||||
|
|
||||||
|
%patch1000 -p1
|
||||||
|
|
||||||
%patch2000 -p1
|
%patch2000 -p1
|
||||||
%patch2002 -p1
|
%patch2002 -p1
|
||||||
%patch2003 -p1
|
%patch2003 -p1
|
||||||
|
111
ifunc-x86-slow-sse4.patch
Normal file
111
ifunc-x86-slow-sse4.patch
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
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)
|
Loading…
Reference in New Issue
Block a user