about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEvangelos Foutras <evangelos@foutrelis.com>2015-02-10 03:22:58 +0000
committerAllan McRae <allan@archlinux.org>2015-02-10 21:39:06 +1000
commit132a1328eccd20621b77f7810eebbeec0a1af187 (patch)
treea14d274ca959c2223dcad632a7c0499c58af1291
parentbc0cdc49817f6d6736bfd85479231d6f44c8f288 (diff)
downloadglibc-132a1328eccd20621b77f7810eebbeec0a1af187.tar.gz
glibc-132a1328eccd20621b77f7810eebbeec0a1af187.tar.xz
glibc-132a1328eccd20621b77f7810eebbeec0a1af187.zip
Fix __memcpy_chk on non-SSE2 CPUs
In commit 8b4416d, the 1: jump label in __mempcpy_chk was accidentally
moved.  This resulted in failures of mempcpy on CPU without SSE2.
-rw-r--r--ChangeLog6
-rw-r--r--NEWS2
-rw-r--r--sysdeps/i386/i686/multiarch/mempcpy_chk.S4
3 files changed, 9 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index e6cb46aef7..4851863b85 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2015-02-10  Evangelos Foutras  <evangelos@foutrelis.com>
+
+	[BZ #17949]
+	* sysdeps/i386/i686/multiarch/mempcpy_chk.S: Fix position of
+	jump label.
+
 2015-02-09  Adhemerval Zanellla  <azanella@linux.vnet.ibm.com>
 
 	* sysdeps/powerpc/powerpc32/configure.ac: Remove R_PPC_REL16 check.
diff --git a/NEWS b/NEWS
index 41bc5512d7..d85e26fdd2 100644
--- a/NEWS
+++ b/NEWS
@@ -9,7 +9,7 @@ Version 2.22
 
 * The following bugs are resolved with this release:
 
-  4719, 17912, 17932, 17944.
+  4719, 17912, 17932, 17944, 17949.
 
 Version 2.21
 
diff --git a/sysdeps/i386/i686/multiarch/mempcpy_chk.S b/sysdeps/i386/i686/multiarch/mempcpy_chk.S
index 207b648c82..b6fa202833 100644
--- a/sysdeps/i386/i686/multiarch/mempcpy_chk.S
+++ b/sysdeps/i386/i686/multiarch/mempcpy_chk.S
@@ -36,8 +36,8 @@ ENTRY(__mempcpy_chk)
 	cmpl	$0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
 	jne	1f
 	call	__init_cpu_features
-	leal	__mempcpy_chk_ia32@GOTOFF(%ebx), %eax
-1:	testl	$bit_SSE2, CPUID_OFFSET+index_SSE2+__cpu_features@GOTOFF(%ebx)
+1:	leal	__mempcpy_chk_ia32@GOTOFF(%ebx), %eax
+	testl	$bit_SSE2, CPUID_OFFSET+index_SSE2+__cpu_features@GOTOFF(%ebx)
 	jz	2f
 	leal	__mempcpy_chk_sse2_unaligned@GOTOFF(%ebx), %eax
 	testl	$bit_Fast_Unaligned_Load, FEATURE_OFFSET+index_Fast_Unaligned_Load+__cpu_features@GOTOFF(%ebx)