Fix handling LC_CTYPE nonascii-case fallback in i686 SSE4.2 and SSSE3 strcasecmp/strncasecmp
This commit is contained in:
parent
53234cc3a3
commit
5d228a436a
|
@ -1,3 +1,11 @@
|
|||
2013-08-27 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* sysdeps/i386/i686/multiarch/strcmp-sse4.S (__strcasecmp_sse4_2)
|
||||
(__strncasecmp_sse4_2) [PIC]: Restore %ebx before falling through
|
||||
to __strcasecmp_nonascii and __strncasecmp_nonascii.
|
||||
* sysdeps/i386/i686/multiarch/strcmp-ssse3.S (__strcasecmp_ssse3)
|
||||
(__strncasecmp_ssse3) [PIC]: Likewise.
|
||||
|
||||
2013-08-26 Roland McGrath <roland@hack.frob.com>
|
||||
|
||||
* io/lxstat64.c: Just call __xstat64, for parity with stub __lxstat.
|
||||
|
|
|
@ -121,8 +121,14 @@ ENTRY (__strcasecmp_sse4_2)
|
|||
movl (%eax), %eax
|
||||
# endif
|
||||
testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%eax)
|
||||
# ifdef PIC
|
||||
je L(ascii)
|
||||
POP (%ebx)
|
||||
jmp __strcasecmp_nonascii
|
||||
# else
|
||||
jne __strcasecmp_nonascii
|
||||
jmp L(ascii)
|
||||
# endif
|
||||
END (__strcasecmp_sse4_2)
|
||||
#endif
|
||||
|
||||
|
@ -152,8 +158,14 @@ ENTRY (__strncasecmp_sse4_2)
|
|||
movl (%eax), %eax
|
||||
# endif
|
||||
testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%eax)
|
||||
# ifdef PIC
|
||||
je L(ascii)
|
||||
POP (%ebx)
|
||||
jmp __strncasecmp_nonascii
|
||||
# else
|
||||
jne __strncasecmp_nonascii
|
||||
jmp L(ascii)
|
||||
# endif
|
||||
END (__strncasecmp_sse4_2)
|
||||
#endif
|
||||
|
||||
|
|
|
@ -138,8 +138,14 @@ ENTRY (__strcasecmp_ssse3)
|
|||
movl (%eax), %eax
|
||||
# endif
|
||||
testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%eax)
|
||||
# ifdef PIC
|
||||
je L(ascii)
|
||||
POP (%ebx)
|
||||
jmp __strcasecmp_nonascii
|
||||
# else
|
||||
jne __strcasecmp_nonascii
|
||||
jmp L(ascii)
|
||||
# endif
|
||||
END (__strcasecmp_ssse3)
|
||||
#endif
|
||||
|
||||
|
@ -169,8 +175,14 @@ ENTRY (__strncasecmp_ssse3)
|
|||
movl (%eax), %eax
|
||||
# endif
|
||||
testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%eax)
|
||||
# ifdef PIC
|
||||
je L(ascii)
|
||||
POP (%ebx)
|
||||
jmp __strncasecmp_nonascii
|
||||
# else
|
||||
jne __strncasecmp_nonascii
|
||||
jmp L(ascii)
|
||||
# endif
|
||||
END (__strncasecmp_ssse3)
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in New Issue