]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Fix x86 strcasecmp_l (bug 13786).
authorJoseph Myers <joseph@codesourcery.com>
Wed, 29 Feb 2012 22:37:38 +0000 (22:37 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Mon, 25 Jun 2012 21:43:15 +0000 (21:43 +0000)
(cherry picked from commit 0bab47b6b255e77bd69206ab0dcfa97331fefa50)

ChangeLog
NEWS
sysdeps/i386/i686/multiarch/strcasecmp_l-c.c
sysdeps/i386/i686/multiarch/strcmp.S
sysdeps/i386/i686/multiarch/strncase_l-c.c

index 94b14c3c232d13cc91d3b9d407f05ddfd1882994..ae32903f520a9b8641fadc2ff79fcff36d9c0fa0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
        * sysdeps/x86_64/fpu/multiarch/s_tan-fma4.c (__branred): Don't
        define.
 
+2012-02-29  Joseph Myers  <joseph@codesourcery.com>
+
+       [BZ #13786]
+       * sysdeps/i386/i686/multiarch/strcmp.S [USE_AS_STRCASECMP_L]: Do
+       not include ../strcmp.S.
+       [USE_AS_STRNCASECMP_L]: Likewise.
+       * sysdeps/i386/i686/multiarch/strcasecmp_l-c.c
+       (__strcasecmp_l_ia32): Define as alias to __strcasecmp_l_nonascii.
+       * sysdeps/i386/i686/multiarch/strncase_l-c.c
+       (__strncasecmp_l_ia32): Define as alias to
+       __strncasecmp_l_nonascii.
+
 2012-02-27  David S. Miller  <davem@davemloft.net>
 
        * sysdeps/ieee754/ldbl-128/s_nearbyintl.c (__nearbyintl): Do not
diff --git a/NEWS b/NEWS
index 2cbf346bebc9b3fb0fd3a4130660024226944a33..c8fbcb0d01dd48bf66fd26cbcad91215037d383a 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -10,7 +10,7 @@ Version 2.15.1
 * The following bugs are resolved with this release:
 
   411, 2547, 2548, 11365, 11494, 13583, 13731, 13732, 13733, 13747, 13748,
-  13749, 13753, 13771, 13774, 14059, 14167
+  13749, 13753, 13771, 13774, 13786, 14059, 14167
 
 Version 2.15
 
index d10e8725683105aca707f7794068b3c23b27140e..d4fcd2b4a189772254adc9943f8a3c120e350d43 100644 (file)
@@ -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)
index 28e2d6154c18afc47ff52537efb31ec0ff33d427..39fa517b2d14b1f7a12ee9ef2daea4627956108e 100644 (file)
@@ -122,6 +122,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
index 0c68b8d1cb228e9a2ba183ea73d915bfc85661d0..7e601af271a956df17517dfb1f3f39f161896393 100644 (file)
@@ -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)