aboutsummaryrefslogtreecommitdiff
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:43:02 +1000
commit75adf430d2d7ee16eaf3166680de83b498444720 (patch)
tree8f612a555b0f4e1410b9c1b3501de49fdd3f13ed
parentc66e8b9e58603e92171cd87f9ad3759304f25255 (diff)
downloadglibc-75adf430d2d7ee16eaf3166680de83b498444720.tar
glibc-75adf430d2d7ee16eaf3166680de83b498444720.tar.gz
glibc-75adf430d2d7ee16eaf3166680de83b498444720.tar.bz2
glibc-75adf430d2d7ee16eaf3166680de83b498444720.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. (cherry picked from commit 132a1328eccd20621b77f7810eebbeec0a1af187)
-rw-r--r--ChangeLog6
-rw-r--r--NEWS6
-rw-r--r--sysdeps/i386/i686/multiarch/mempcpy_chk.S4
3 files changed, 14 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index af405a0481..45579dea40 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-06 Carlos O'Donell <carlos@systemhalted.org>
* version.h (RELEASE): Set to "stable".
diff --git a/NEWS b/NEWS
index 4b07474326..ff79f0d1b5 100644
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,12 @@ See the end for copying conditions.
Please send GNU C library bug reports via <http://sourceware.org/bugzilla/>
using `glibc' in the "product" field.
+Version 2.21.1
+
+* The following bugs are resolved with this release:
+
+ 17949.
+
Version 2.21
* The following bugs are resolved with this release:
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)