PKGBUILDs/core/glibc/glibc-2.15-multiarch-x86-strcmp.patch
2012-03-15 20:19:20 -04:00

39 lines
1.6 KiB
Diff

diff --git a/sysdeps/i386/i686/multiarch/strcasecmp_l-c.c b/sysdeps/i386/i686/multiarch/strcasecmp_l-c.c
index d10e872..d4fcd2b 100644
--- a/sysdeps/i386/i686/multiarch/strcasecmp_l-c.c
+++ b/sysdeps/i386/i686/multiarch/strcasecmp_l-c.c
@@ -6,6 +6,8 @@ extern __typeof (strcasecmp_l) __strcasecmp_l_nonascii;
#define USE_IN_EXTENDED_LOCALE_MODEL 1
#include <string/strcasecmp.c>
+strong_alias (__strcasecmp_l_nonascii, __strcasecmp_l_ia32)
+
/* The needs of strcasecmp in libc are minimal, no need to go through
the IFUNC. */
strong_alias (__strcasecmp_l_nonascii, __GI___strcasecmp_l)
diff --git a/sysdeps/i386/i686/multiarch/strcmp.S b/sysdeps/i386/i686/multiarch/strcmp.S
index 5410d17..b3b9eb8 100644
--- a/sysdeps/i386/i686/multiarch/strcmp.S
+++ b/sysdeps/i386/i686/multiarch/strcmp.S
@@ -111,6 +111,7 @@ END(STRCMP)
# endif
#endif
-#ifndef USE_AS_STRNCMP
+#if !defined USE_AS_STRNCMP && !defined USE_AS_STRCASECMP_L \
+ && !defined USE_AS_STRNCASECMP_L
# include "../strcmp.S"
#endif
diff --git a/sysdeps/i386/i686/multiarch/strncase_l-c.c b/sysdeps/i386/i686/multiarch/strncase_l-c.c
index 0c68b8d..7e601af 100644
--- a/sysdeps/i386/i686/multiarch/strncase_l-c.c
+++ b/sysdeps/i386/i686/multiarch/strncase_l-c.c
@@ -6,6 +6,8 @@ extern __typeof (strncasecmp_l) __strncasecmp_l_nonascii;
#define USE_IN_EXTENDED_LOCALE_MODEL 1
#include <string/strncase.c>
+strong_alias (__strncasecmp_l_nonascii, __strncasecmp_l_ia32)
+
/* The needs of strcasecmp in libc are minimal, no need to go through
the IFUNC. */
strong_alias (__strncasecmp_l_nonascii, __GI___strncasecmp_l)