diff options
author | Jose E. Marchesi <jose.marchesi@oracle.com> | 2014-05-17 11:20:27 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-05-17 14:09:55 -0700 |
commit | 834caf06f33d79be54cff63c274fba2845513593 (patch) | |
tree | a9f1b268f46d99540332dd9220b139bc0f720f45 | |
parent | e184a918bb5866a6488257d37ecc4e4ff747b7b7 (diff) | |
download | glibc-834caf06f33d79be54cff63c274fba2845513593.tar glibc-834caf06f33d79be54cff63c274fba2845513593.tar.gz glibc-834caf06f33d79be54cff63c274fba2845513593.tar.bz2 glibc-834caf06f33d79be54cff63c274fba2845513593.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-- | ChangeLog | 6 | ||||
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | sysdeps/sparc/sparc64/multiarch/memcpy-niagara2.S | 1 |
3 files changed, 8 insertions, 1 deletions
@@ -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): @@ -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. 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 |