Accepting request 204211 from Base:System
- Remove SSE4.2 implementation of strstr for x86-32 (bnc#843464) (forwarded request 204210 from Andreas_Schwab) OBS-URL: https://build.opensuse.org/request/show/204211 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/glibc?expand=0&rev=159
This commit is contained in:
commit
fdc981d06a
@ -1,3 +1,8 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Oct 21 12:14:38 UTC 2013 - schwab@suse.de
|
||||||
|
|
||||||
|
- Remove SSE4.2 implementation of strstr for x86-32 (bnc#843464)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Oct 14 09:32:44 UTC 2013 - schwab@suse.de
|
Mon Oct 14 09:32:44 UTC 2013 - schwab@suse.de
|
||||||
|
|
||||||
|
@ -211,6 +211,8 @@ Patch15: glibc-2.3.90-langpackdir.diff
|
|||||||
Patch18: glibc-cpusetsize.diff
|
Patch18: glibc-cpusetsize.diff
|
||||||
# PATCH-FEATURE-SLE Use nscd user for nscd
|
# PATCH-FEATURE-SLE Use nscd user for nscd
|
||||||
Patch19: nscd-server-user.patch
|
Patch19: nscd-server-user.patch
|
||||||
|
# PATCH-FIX-OPENSUSE Remove SSE4.2 implementation of strstr for x86-32 (bnc#843464)
|
||||||
|
Patch20: i686-no-sse42-strstr.patch
|
||||||
|
|
||||||
### Locale related patches
|
### Locale related patches
|
||||||
# PATCH-FIX-OPENSUSE Add additional locales
|
# PATCH-FIX-OPENSUSE Add additional locales
|
||||||
@ -459,6 +461,7 @@ rm nscd/s-stamp
|
|||||||
%patch15 -p1
|
%patch15 -p1
|
||||||
%patch18 -p1
|
%patch18 -p1
|
||||||
%patch19 -p1
|
%patch19 -p1
|
||||||
|
%patch20 -p1
|
||||||
|
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%patch101 -p1
|
%patch101 -p1
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Oct 21 12:14:38 UTC 2013 - schwab@suse.de
|
||||||
|
|
||||||
|
- Remove SSE4.2 implementation of strstr for x86-32 (bnc#843464)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Oct 14 09:32:44 UTC 2013 - schwab@suse.de
|
Mon Oct 14 09:32:44 UTC 2013 - schwab@suse.de
|
||||||
|
|
||||||
|
@ -210,6 +210,8 @@ Patch15: glibc-2.3.90-langpackdir.diff
|
|||||||
Patch18: glibc-cpusetsize.diff
|
Patch18: glibc-cpusetsize.diff
|
||||||
# PATCH-FEATURE-SLE Use nscd user for nscd
|
# PATCH-FEATURE-SLE Use nscd user for nscd
|
||||||
Patch19: nscd-server-user.patch
|
Patch19: nscd-server-user.patch
|
||||||
|
# PATCH-FIX-OPENSUSE Remove SSE4.2 implementation of strstr for x86-32 (bnc#843464)
|
||||||
|
Patch20: i686-no-sse42-strstr.patch
|
||||||
|
|
||||||
### Locale related patches
|
### Locale related patches
|
||||||
# PATCH-FIX-OPENSUSE Add additional locales
|
# PATCH-FIX-OPENSUSE Add additional locales
|
||||||
@ -459,6 +461,7 @@ rm nscd/s-stamp
|
|||||||
%patch15 -p1
|
%patch15 -p1
|
||||||
%patch18 -p1
|
%patch18 -p1
|
||||||
%patch19 -p1
|
%patch19 -p1
|
||||||
|
%patch20 -p1
|
||||||
|
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%patch101 -p1
|
%patch101 -p1
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Oct 21 12:14:38 UTC 2013 - schwab@suse.de
|
||||||
|
|
||||||
|
- Remove SSE4.2 implementation of strstr for x86-32 (bnc#843464)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Oct 14 09:32:44 UTC 2013 - schwab@suse.de
|
Mon Oct 14 09:32:44 UTC 2013 - schwab@suse.de
|
||||||
|
|
||||||
|
@ -211,6 +211,8 @@ Patch15: glibc-2.3.90-langpackdir.diff
|
|||||||
Patch18: glibc-cpusetsize.diff
|
Patch18: glibc-cpusetsize.diff
|
||||||
# PATCH-FEATURE-SLE Use nscd user for nscd
|
# PATCH-FEATURE-SLE Use nscd user for nscd
|
||||||
Patch19: nscd-server-user.patch
|
Patch19: nscd-server-user.patch
|
||||||
|
# PATCH-FIX-OPENSUSE Remove SSE4.2 implementation of strstr for x86-32 (bnc#843464)
|
||||||
|
Patch20: i686-no-sse42-strstr.patch
|
||||||
|
|
||||||
### Locale related patches
|
### Locale related patches
|
||||||
# PATCH-FIX-OPENSUSE Add additional locales
|
# PATCH-FIX-OPENSUSE Add additional locales
|
||||||
@ -459,6 +461,7 @@ rm nscd/s-stamp
|
|||||||
%patch15 -p1
|
%patch15 -p1
|
||||||
%patch18 -p1
|
%patch18 -p1
|
||||||
%patch19 -p1
|
%patch19 -p1
|
||||||
|
%patch20 -p1
|
||||||
|
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%patch101 -p1
|
%patch101 -p1
|
||||||
|
120
i686-no-sse42-strstr.patch
Normal file
120
i686-no-sse42-strstr.patch
Normal file
@ -0,0 +1,120 @@
|
|||||||
|
Index: glibc-2.18/sysdeps/i386/i686/multiarch/Makefile
|
||||||
|
===================================================================
|
||||||
|
--- glibc-2.18.orig/sysdeps/i386/i686/multiarch/Makefile
|
||||||
|
+++ glibc-2.18/sysdeps/i386/i686/multiarch/Makefile
|
||||||
|
@@ -11,7 +11,7 @@ sysdep_routines += bzero-sse2 memset-sse
|
||||||
|
memmove-ssse3-rep bcopy-ssse3 bcopy-ssse3-rep \
|
||||||
|
memset-sse2-rep bzero-sse2-rep strcmp-ssse3 \
|
||||||
|
strcmp-sse4 strncmp-c strncmp-ssse3 strncmp-sse4 \
|
||||||
|
- memcmp-ssse3 memcmp-sse4 strcasestr-nonascii varshift \
|
||||||
|
+ memcmp-ssse3 memcmp-sse4 varshift \
|
||||||
|
strlen-sse2 strlen-sse2-bsf strncpy-c strcpy-ssse3 \
|
||||||
|
strncpy-ssse3 stpcpy-ssse3 stpncpy-ssse3 strcpy-sse2 \
|
||||||
|
strncpy-sse2 stpcpy-sse2 stpncpy-sse2 strcat-ssse3 \
|
||||||
|
@@ -25,14 +25,11 @@ sysdep_routines += bzero-sse2 memset-sse
|
||||||
|
strncase_l-c strncase-c strncase_l-ssse3 \
|
||||||
|
strcasecmp_l-sse4 strncase_l-sse4
|
||||||
|
ifeq (yes,$(config-cflags-sse4))
|
||||||
|
-sysdep_routines += strcspn-c strpbrk-c strspn-c strstr-c strcasestr-c
|
||||||
|
+sysdep_routines += strcspn-c strpbrk-c strspn-c
|
||||||
|
CFLAGS-varshift.c += -msse4
|
||||||
|
CFLAGS-strcspn-c.c += -msse4
|
||||||
|
CFLAGS-strpbrk-c.c += -msse4
|
||||||
|
CFLAGS-strspn-c.c += -msse4
|
||||||
|
-CFLAGS-strstr.c += -msse4
|
||||||
|
-CFLAGS-strcasestr.c += -msse4
|
||||||
|
-CFLAGS-strcasestr-nonascii.c += -msse4
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
Index: glibc-2.18/sysdeps/i386/i686/multiarch/ifunc-impl-list.c
|
||||||
|
===================================================================
|
||||||
|
--- glibc-2.18.orig/sysdeps/i386/i686/multiarch/ifunc-impl-list.c
|
||||||
|
+++ glibc-2.18/sysdeps/i386/i686/multiarch/ifunc-impl-list.c
|
||||||
|
@@ -141,12 +141,6 @@ __libc_ifunc_impl_list (const char *name
|
||||||
|
IFUNC_IMPL_ADD (array, i, strcasecmp_l, 1,
|
||||||
|
__strcasecmp_l_ia32))
|
||||||
|
|
||||||
|
- /* Support sysdeps/i386/i686/multiarch/strcasestr.c. */
|
||||||
|
- IFUNC_IMPL (i, name, strcasestr,
|
||||||
|
- IFUNC_IMPL_ADD (array, i, strcasestr, HAS_SSE4_2,
|
||||||
|
- __strcasestr_sse42)
|
||||||
|
- IFUNC_IMPL_ADD (array, i, strcasestr, 1, __strcasestr_ia32))
|
||||||
|
-
|
||||||
|
/* Support sysdeps/i386/i686/multiarch/strcat.S. */
|
||||||
|
IFUNC_IMPL (i, name, strcat,
|
||||||
|
IFUNC_IMPL_ADD (array, i, strcat, HAS_SSSE3, __strcat_ssse3)
|
||||||
|
@@ -234,11 +228,6 @@ __libc_ifunc_impl_list (const char *name
|
||||||
|
IFUNC_IMPL_ADD (array, i, strspn, HAS_SSE4_2, __strspn_sse42)
|
||||||
|
IFUNC_IMPL_ADD (array, i, strspn, 1, __strspn_ia32))
|
||||||
|
|
||||||
|
- /* Support sysdeps/i386/i686/multiarch/strstr-c.c. */
|
||||||
|
- IFUNC_IMPL (i, name, strstr,
|
||||||
|
- IFUNC_IMPL_ADD (array, i, strstr, HAS_SSE4_2, __strstr_sse42)
|
||||||
|
- IFUNC_IMPL_ADD (array, i, strstr, 1, __strstr_ia32))
|
||||||
|
-
|
||||||
|
/* Support sysdeps/i386/i686/multiarch/wcschr.S. */
|
||||||
|
IFUNC_IMPL (i, name, wcschr,
|
||||||
|
IFUNC_IMPL_ADD (array, i, wcschr, HAS_SSE2, __wcschr_sse2)
|
||||||
|
Index: glibc-2.18/sysdeps/i386/i686/multiarch/strcasestr-c.c
|
||||||
|
===================================================================
|
||||||
|
--- glibc-2.18.orig/sysdeps/i386/i686/multiarch/strcasestr-c.c
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1,4 +0,0 @@
|
||||||
|
-/* Multiple versions of strcasestr
|
||||||
|
- All versions must be listed in ifunc-impl-list.c. */
|
||||||
|
-#define __strcasestr_sse2 __strcasestr_ia32
|
||||||
|
-#include <sysdeps/x86_64/multiarch/strcasestr-c.c>
|
||||||
|
Index: glibc-2.18/sysdeps/i386/i686/multiarch/strcasestr-nonascii.c
|
||||||
|
===================================================================
|
||||||
|
--- glibc-2.18.orig/sysdeps/i386/i686/multiarch/strcasestr-nonascii.c
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1,2 +0,0 @@
|
||||||
|
-#include <nmmintrin.h>
|
||||||
|
-#include <sysdeps/x86_64/multiarch/strcasestr-nonascii.c>
|
||||||
|
Index: glibc-2.18/sysdeps/i386/i686/multiarch/strcasestr.c
|
||||||
|
===================================================================
|
||||||
|
--- glibc-2.18.orig/sysdeps/i386/i686/multiarch/strcasestr.c
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1 +0,0 @@
|
||||||
|
-#include <sysdeps/x86_64/multiarch/strcasestr.c>
|
||||||
|
Index: glibc-2.18/sysdeps/i386/i686/multiarch/strstr-c.c
|
||||||
|
===================================================================
|
||||||
|
--- glibc-2.18.orig/sysdeps/i386/i686/multiarch/strstr-c.c
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1,29 +0,0 @@
|
||||||
|
-/* Multiple versions of strstr
|
||||||
|
- All versions must be listed in ifunc-impl-list.c. */
|
||||||
|
-
|
||||||
|
-#include "init-arch.h"
|
||||||
|
-
|
||||||
|
-#define STRSTR __strstr_ia32
|
||||||
|
-#if defined SHARED && defined DO_VERSIONING && !defined NO_HIDDEN
|
||||||
|
-#undef libc_hidden_builtin_def
|
||||||
|
-#define libc_hidden_builtin_def(name) \
|
||||||
|
- __hidden_ver1 (__strstr_ia32, __GI_strstr, __strstr_ia32);
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
-/* Redefine strstr so that the compiler won't complain about the type
|
||||||
|
- mismatch with the IFUNC selector in strong_alias, below. */
|
||||||
|
-#undef strstr
|
||||||
|
-#define strstr __redirect_strstr
|
||||||
|
-
|
||||||
|
-#include "string/strstr.c"
|
||||||
|
-
|
||||||
|
-extern __typeof (__redirect_strstr) __strstr_sse42 attribute_hidden;
|
||||||
|
-extern __typeof (__redirect_strstr) __strstr_ia32 attribute_hidden;
|
||||||
|
-
|
||||||
|
-/* Avoid DWARF definition DIE on ifunc symbol so that GDB can handle
|
||||||
|
- ifunc symbol properly. */
|
||||||
|
-extern __typeof (__redirect_strstr) __libc_strstr;
|
||||||
|
-libc_ifunc (__libc_strstr, HAS_SSE4_2 ? __strstr_sse42 : __strstr_ia32)
|
||||||
|
-
|
||||||
|
-#undef strstr
|
||||||
|
-strong_alias (__libc_strstr, strstr)
|
||||||
|
Index: glibc-2.18/sysdeps/i386/i686/multiarch/strstr.c
|
||||||
|
===================================================================
|
||||||
|
--- glibc-2.18.orig/sysdeps/i386/i686/multiarch/strstr.c
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1 +0,0 @@
|
||||||
|
-#include <sysdeps/x86_64/multiarch/strstr.c>
|
Loading…
Reference in New Issue
Block a user