diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | sysdeps/x86_64/multiarch/strcmp-sse42.S | 4 | ||||
-rw-r--r-- | sysdeps/x86_64/strcmp.S | 6 |
3 files changed, 8 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog index a70847edb5..3b59f298c4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -12,6 +12,9 @@ 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. diff --git a/sysdeps/x86_64/multiarch/strcmp-sse42.S b/sysdeps/x86_64/multiarch/strcmp-sse42.S index b93eda13b4..7a50ff05db 100644 --- a/sysdeps/x86_64/multiarch/strcmp-sse42.S +++ b/sysdeps/x86_64/multiarch/strcmp-sse42.S @@ -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 diff --git a/sysdeps/x86_64/strcmp.S b/sysdeps/x86_64/strcmp.S index 165073e907..6e5bdaaf2e 100644 --- a/sysdeps/x86_64/strcmp.S +++ b/sysdeps/x86_64/strcmp.S @@ -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 |