Fix x86 strcasecmp_l (bug 13786).

This commit is contained in:
Joseph Myers 2012-02-29 22:37:38 +00:00
parent 0fcad3e243
commit 0bab47b6b2
4 changed files with 16 additions and 1 deletions

View File

@ -1,5 +1,15 @@
2012-02-29 Joseph Myers <joseph@codesourcery.com> 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.
[BZ #5794] [BZ #5794]
* math/libm-test.inc (expm1_test): Add test for bug 5794. * math/libm-test.inc (expm1_test): Add test for bug 5794.
* sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/i386/fpu/libm-test-ulps: Update.

View File

@ -6,6 +6,8 @@ extern __typeof (strcasecmp_l) __strcasecmp_l_nonascii;
#define USE_IN_EXTENDED_LOCALE_MODEL 1 #define USE_IN_EXTENDED_LOCALE_MODEL 1
#include <string/strcasecmp.c> #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 needs of strcasecmp in libc are minimal, no need to go through
the IFUNC. */ the IFUNC. */
strong_alias (__strcasecmp_l_nonascii, __GI___strcasecmp_l) strong_alias (__strcasecmp_l_nonascii, __GI___strcasecmp_l)

View File

@ -111,6 +111,7 @@ END(STRCMP)
# endif # endif
#endif #endif
#ifndef USE_AS_STRNCMP #if !defined USE_AS_STRNCMP && !defined USE_AS_STRCASECMP_L \
&& !defined USE_AS_STRNCASECMP_L
# include "../strcmp.S" # include "../strcmp.S"
#endif #endif

View File

@ -6,6 +6,8 @@ extern __typeof (strncasecmp_l) __strncasecmp_l_nonascii;
#define USE_IN_EXTENDED_LOCALE_MODEL 1 #define USE_IN_EXTENDED_LOCALE_MODEL 1
#include <string/strncase.c> #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 needs of strcasecmp in libc are minimal, no need to go through
the IFUNC. */ the IFUNC. */
strong_alias (__strncasecmp_l_nonascii, __GI___strncasecmp_l) strong_alias (__strncasecmp_l_nonascii, __GI___strncasecmp_l)