aboutsummaryrefslogtreecommitdiff
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:18:51 -0400
commit8c19f86e356cd28180eb199f07670de5f32f82b9 (patch)
tree7400d6d0f6b88844d87a27f3c419dd6c60bb90d4
parent38736fdf39351c807caffcce75e2f89196889e42 (diff)
downloadglibc-8c19f86e356cd28180eb199f07670de5f32f82b9.tar
glibc-8c19f86e356cd28180eb199f07670de5f32f82b9.tar.gz
glibc-8c19f86e356cd28180eb199f07670de5f32f82b9.tar.bz2
glibc-8c19f86e356cd28180eb199f07670de5f32f82b9.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 7e235ac392..ef667cc9b9 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-16 Aurelien Jarno <aurelien@aurel32.net>
[BZ #16943]
diff --git a/NEWS b/NEWS
index 7703b6ee1c..9ab955a301 100644
--- a/NEWS
+++ b/NEWS
@@ -8,7 +8,7 @@ using `glibc' in the "product" field.
Version 2.17.1
* The following bugs are resolved with this release:
- 15003, 15006, 15073, 15122, 15759, 16510, 16885, 16916, 16943.
+ 15003, 15006, 15073, 15122, 15759, 16510, 16885, 16916, 16943, 16958.
Version 2.17
diff --git a/sysdeps/sparc/sparc64/multiarch/memcpy-niagara2.S b/sysdeps/sparc/sparc64/multiarch/memcpy-niagara2.S
index fb815e5e57..93f87f7390 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