Fix sparc memcpy data corruption when using niagara2 optimized routines.
authorJose E. Marchesi <jose.marchesi@oracle.com>
Sat, 17 May 2014 18:20:27 +0000 (11:20 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 17 May 2014 21:09:55 +0000 (14:09 -0700)
* sysdeps/sparc/sparc64/multiarch/memcpy-niagara2.S: Add missing
membar to avoid block loads/stores to overlap previous stores.

ChangeLog
NEWS
sysdeps/sparc/sparc64/multiarch/memcpy-niagara2.S

index 7b1feb6..c606b0d 100644 (file)
--- 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-17  Richard Henderson  <rth@redhat.com>
 
        * sysdeps/unix/sysv/linux/alpha/nptl/sysdep-cancel.h (PSEUDO):
diff --git a/NEWS b/NEWS
index 052ada8..6d677db 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -17,7 +17,7 @@ Version 2.20
   16712, 16713, 16714, 16731, 16739, 16740, 16743, 16754, 16758, 16759,
   16760, 16770, 16786, 16789, 16791, 16799, 16800, 16815, 16823, 16824,
   16831, 16838, 16849, 16854, 16876, 16877, 16885, 16888, 16890, 16912,
-  16916, 16917, 16922, 16927, 16928, 16932, 16943.
+  16916, 16917, 16922, 16927, 16928, 16932, 16943, 16958.
 
 * The minimum Linux kernel version that this version of the GNU C Library
   can be used with is 2.6.32.
index b43a9e3..a1a9642 100644 (file)
@@ -211,6 +211,7 @@ ENTRY(__memcpy_niagara2)
         */
        VISEntryHalf
 
+       membar          #Sync
        alignaddr       %o1, %g0, %g0
 
        add             %o1, (64 - 1), %o4