about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog1
-rw-r--r--sysdeps/x86_64/multiarch/strcmp.S6
2 files changed, 4 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 5008892f14..b9dc348edd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -13,6 +13,7 @@
 
 	* sysdeps/x86_64/strcmp.S: Use correct register for fourth parameter
 	of strncasecmp_l.
+	* sysdeps/multiarch/strcmp.S: Likewise.
 
 2010-08-14  Ulrich Drepper  <drepper@redhat.com>
 
diff --git a/sysdeps/x86_64/multiarch/strcmp.S b/sysdeps/x86_64/multiarch/strcmp.S
index 764eb09320..45cd80b2f0 100644
--- a/sysdeps/x86_64/multiarch/strcmp.S
+++ b/sysdeps/x86_64/multiarch/strcmp.S
@@ -181,7 +181,7 @@ END (__strcasecmp_sse42)
 # ifdef USE_AS_STRNCASECMP_L
 ENTRY (__strncasecmp_sse42)
 	movq	__libc_tsd_LOCALE@gottpoff(%rip),%rax
-	movq	%fs:(%rax),%r10
+	movq	%fs:(%rax),%rcx
 
 	// XXX 5 byte should be before the function
 	/* 5-byte NOP.  */
@@ -212,9 +212,9 @@ STRCMP_SSE42:
 	/* We have to fall back on the C implementation for locales
 	   with encodings not matching ASCII for single bytes.  */
 #  if LOCALE_T___LOCALES != 0 || LC_CTYPE != 0
-	movq	LOCALE_T___LOCALES+LC_CTYPE*8(%r10), %rax
+	movq	LOCALE_T___LOCALES+LC_CTYPE*8(%rcx), %rax
 #  else
-	movq	(%r10), %rax
+	movq	(%rcx), %rax
 #  endif
 	testl	$0, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax)
 	jne	__strncasecmp_l_nonascii