glibc/i686-no-sse42-strstr.patch
Andreas Schwab 384789b673 Accepting request 208665 from home:Andreas_Schwab:Factory
- Update to glibc 2.18.90 bd12ab55c05e:
  * New locales: ak_GH, anp_IN, ar_SS, cmn_TW, hak_TW, lzh_TW, nan_TW, pap_AW,
    pap_CW, quz_PE, the_NP.
  * Substantially revised locales: gd_GB, ht_HT
  * The LC_ADDRESS field was updated to support country_car for almost all
    supported locales.
  * ISO 1427 definitions were updated.
  * ISO 3166 definitions were updated.
  * The localedef utility now supports --big-endian and --little-endian
    command-line options to generate locales for a different system from that
    for which the C library was built.
  * Binary locale files now only depend on the endianness of the system for
    which they are generated and not on other properties of that system.
  * ISO 639 definitions were updated for Chiga (cgg) and Chinese (gan, hak, czh,
    cjy, lzh, cmn, mnp, cdo, czo, cpx, wuu, hsn, yue).
  * SystemTap probes for malloc have been introduced.
  * Support for powerpc64le has been added.
  * The soft-float powerpc port now supports e500 processors.
- Remove upstreamed patches:
  cbrtl-ldbl-96.patch
  fcntl-o-tmpfile.patch
  getaddrinfo-overflow.patch
  glibc-2.18.tar.xz
  glibc-ld-profile.patch
  glibc-nscd-hconf.diff
  i686-strcasecmp-fallback.patch
  m68k-Scrt1.patch
  malloc-overflows.patch
  nonascii-case.patch
  nss-database.patch

OBS-URL: https://build.opensuse.org/request/show/208665
OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=320
2013-11-27 11:31:05 +00:00

121 lines
5.0 KiB
Diff

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 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>