about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJose E. Marchesi <jose.marchesi@oracle.com>2014-05-17 11:20:27 -0700
committerDavid S. Miller <davem@davemloft.net>2014-05-17 17:22:29 -0400
commit9e6dad45f730560cc85fdb828fd85d49b953d623 (patch)
tree6955cea2cc69f1334c268718275cd3de5944e40a
parent1f2d5b7d006bb5a85538750328dee160058cdbca (diff)
downloadglibc-9e6dad45f730560cc85fdb828fd85d49b953d623.tar.gz
glibc-9e6dad45f730560cc85fdb828fd85d49b953d623.tar.xz
glibc-9e6dad45f730560cc85fdb828fd85d49b953d623.zip
Fix sparc memcpy data corruption when using niagara2 optimized routines.
	* sysdeps/sparc/sparc64/multiarch/memcpy-niagara2.S: Add missing
	membar to avoid block loads/stores to overlap previous stores.
-rw-r--r--ChangeLog6
-rw-r--r--NEWS2
-rw-r--r--sysdeps/sparc/sparc64/multiarch/memcpy-niagara2.S1
3 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 21b76eee91..fb5cf2a103 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2014-05-17  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	[BZ #16958]
+	* sysdeps/sparc/sparc64/multiarch/memcpy-niagara2.S: Add missing
+	membar to avoid block loads/stores to overlap previous stores.
+
 2014-05-13  Sami Kerola  <kerolasa@iki.fi>
 
 	* timezone/Makefile ($(objpfx)tzselect): Use zonedir instead
diff --git a/NEWS b/NEWS
index ee1ea36237..dde85f2c50 100644
--- a/NEWS
+++ b/NEWS
@@ -9,7 +9,7 @@ Version 2.19.1
 
 * The following bugs are resolved with this release:
 
-  16545, 16623, 16885, 16916, 16943.
+  16545, 16623, 16885, 16916, 16943, 16958.
 
 
 Version 2.19
diff --git a/sysdeps/sparc/sparc64/multiarch/memcpy-niagara2.S b/sysdeps/sparc/sparc64/multiarch/memcpy-niagara2.S
index b43a9e3e53..a1a9642bd8 100644
--- a/sysdeps/sparc/sparc64/multiarch/memcpy-niagara2.S
+++ b/sysdeps/sparc/sparc64/multiarch/memcpy-niagara2.S
@@ -211,6 +211,7 @@ ENTRY(__memcpy_niagara2)
 	 */
 	VISEntryHalf
 
+	membar		#Sync
 	alignaddr	%o1, %g0, %g0
 
 	add		%o1, (64 - 1), %o4