]> sourceware.org Git - glibc.git/commitdiff
Fix test of non-ASCII locales in x86-64 strcasecmp et.al.
authorUlrich Drepper <drepper@gmail.com>
Tue, 1 Nov 2011 20:46:23 +0000 (16:46 -0400)
committerUlrich Drepper <drepper@gmail.com>
Tue, 1 Nov 2011 20:46:23 +0000 (16:46 -0400)
ChangeLog
sysdeps/x86_64/multiarch/strcmp-sse42.S
sysdeps/x86_64/strcmp.S

index b8bfd16c84f3da08ffaaa1440db7d82b1a6f9151..f18c5cbf4bff95c4db3fb458563f203f91e73542 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2011-11-01  Ulrich Drepper  <drepper@gmail.com>
 
+       * sysdeps/x86_64/strcmp.S: Fix test for non-ASCII locales.
+       * sysdeps/x86_64/multiarch/strcmp-sse42.S: Likewise.
+
        * posix/tst-rfc3484.c: Add missing __free_in6ai dummy function.
        * posix/tst-rfc3484-2.c: Likewise.
        * posix/tst-rfc3484-3.c: Likewise.
index b93eda13b4674e3480a1ba500ebe7216b97c996b..7a50ff05db7b430ca56e3be2f4ef3cc3cbdbb506 100644 (file)
@@ -104,7 +104,7 @@ STRCMP_SSE42:
 # else
        movq    (%rdx), %rax
 # endif
-       testl   $0, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax)
+       testl   $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax)
        jne     __strcasecmp_l_nonascii
 #endif
 #ifdef USE_AS_STRNCASECMP_L
@@ -115,7 +115,7 @@ STRCMP_SSE42:
 # else
        movq    (%rcx), %rax
 # endif
-       testl   $0, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax)
+       testl   $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax)
        jne     __strncasecmp_l_nonascii
 #endif
 
index 165073e907e63b4c353fa03534d431623ca2ad0a..6e5bdaaf2ea7219b395e73cfd7ff39e10cb4694b 100644 (file)
@@ -1,5 +1,5 @@
 /* Highly optimized version for x86-64.
-   Copyright (C) 1999, 2000, 2002, 2003, 2005, 2009, 2010
+   Copyright (C) 1999, 2000, 2002, 2003, 2005, 2009, 2010, 2011
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Based on i686 version contributed by Ulrich Drepper
@@ -157,7 +157,7 @@ END (BP_SYM (STRCMP))
 #  else
        movq    (%rdx), %rax
 #  endif
-       testl   $0, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax)
+       testl   $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax)
        jne     __strcasecmp_l_nonascii
 # elif defined USE_AS_STRNCASECMP_L
        /* We have to fall back on the C implementation for locales
@@ -167,7 +167,7 @@ END (BP_SYM (STRCMP))
 #  else
        movq    (%rcx), %rax
 #  endif
-       testl   $0, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax)
+       testl   $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax)
        jne     __strncasecmp_l_nonascii
 # endif
 
This page took 0.05528 seconds and 5 git commands to generate.