diff options
author | David S. Miller <davem@davemloft.net> | 2012-10-06 18:36:40 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-10-06 18:36:40 -0700 |
commit | f1ecb7ef7f5703fc156b8ab2ca153d774c39ec7a (patch) | |
tree | a9eca93bfb79619ea5e7ca6c4e31f07dc70c81ed /sysdeps/sparc/sparc64/multiarch | |
parent | 5d41d91a3e819098c7b5730dfbafb4dd74c61817 (diff) | |
download | glibc-f1ecb7ef7f5703fc156b8ab2ca153d774c39ec7a.tar.gz glibc-f1ecb7ef7f5703fc156b8ab2ca153d774c39ec7a.tar.xz glibc-f1ecb7ef7f5703fc156b8ab2ca153d774c39ec7a.zip |
Fix Niagara-4 memcpy bug on 32-bit.
* sysdeps/sparc/sparc64/multiarch/memcpy-niagara4.S: On 32-bit, clear upper 32-bits of the length value in %o2 since we use branch-on-register tests which consider the entire 64-bit register.
Diffstat (limited to 'sysdeps/sparc/sparc64/multiarch')
-rw-r--r-- | sysdeps/sparc/sparc64/multiarch/memcpy-niagara4.S | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sysdeps/sparc/sparc64/multiarch/memcpy-niagara4.S b/sysdeps/sparc/sparc64/multiarch/memcpy-niagara4.S index 7bb05b9818..3da98a87ab 100644 --- a/sysdeps/sparc/sparc64/multiarch/memcpy-niagara4.S +++ b/sysdeps/sparc/sparc64/multiarch/memcpy-niagara4.S @@ -64,6 +64,9 @@ ENTRY(__memcpy_niagara4) 100: /* %o0=dst, %o1=src, %o2=len */ mov %o0, %o3 101: +#ifndef __arch64__ + srl %o2, 0, %o2 +#endif brz,pn %o2, .Lexit cmp %o2, 3 ble,pn %icc, .Ltiny |