2013-08-01 11:02:44 +02:00
|
|
|
* 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-06 16:52:55 +02:00
|
|
|
Index: glibc-2.17.90/sysdeps/i386/i686/multiarch/strcmp-sse4.S
|
2013-08-01 11:02:44 +02:00
|
|
|
===================================================================
|
2013-08-06 16:52:55 +02:00
|
|
|
--- glibc-2.17.90.orig/sysdeps/i386/i686/multiarch/strcmp-sse4.S
|
|
|
|
+++ glibc-2.17.90/sysdeps/i386/i686/multiarch/strcmp-sse4.S
|
2013-08-01 11:02:44 +02:00
|
|
|
@@ -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
|
|
|
|
|
2013-08-06 16:52:55 +02:00
|
|
|
Index: glibc-2.17.90/sysdeps/i386/i686/multiarch/strcmp-ssse3.S
|
2013-08-01 11:02:44 +02:00
|
|
|
===================================================================
|
2013-08-06 16:52:55 +02:00
|
|
|
--- glibc-2.17.90.orig/sysdeps/i386/i686/multiarch/strcmp-ssse3.S
|
|
|
|
+++ glibc-2.17.90/sysdeps/i386/i686/multiarch/strcmp-ssse3.S
|
2013-08-01 11:02:44 +02:00
|
|
|
@@ -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
|
|
|
|
|