diff options
author | marcel <marcel@FreeBSD.org> | 2004-09-04 00:04:58 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2004-09-04 00:04:58 +0000 |
commit | a035e5e43cb3be0164f53aa450d686b7a1c09112 (patch) | |
tree | 2eb2be7d84b2b550b113749c544411b92ddf7c05 /lib/libc | |
parent | 1ac4ce85a120374b52ae27952d3198c2b1ce54e7 (diff) | |
download | FreeBSD-src-a035e5e43cb3be0164f53aa450d686b7a1c09112.zip FreeBSD-src-a035e5e43cb3be0164f53aa450d686b7a1c09112.tar.gz |
Unbreak memcpy(). memcpy() is defined to return the dst argument.
By using r8 instead of r14 to do the swap, we put the dst argument
in the return register. Since bcopy() doesn't clobber r8, we don't
have to do anything else. This fixes ports/textproc/aspell.
Diffstat (limited to 'lib/libc')
-rw-r--r-- | lib/libc/ia64/string/memcpy.S | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/lib/libc/ia64/string/memcpy.S b/lib/libc/ia64/string/memcpy.S index d9937fb..d7557c1 100644 --- a/lib/libc/ia64/string/memcpy.S +++ b/lib/libc/ia64/string/memcpy.S @@ -28,10 +28,9 @@ __FBSDID("$FreeBSD$"); ENTRY(memcpy,3) - - mov r14=in0 ;; - mov in0=in1 ;; - mov in1=r14 - br.cond.sptk.few bcopy - + mov r8 = in0 + mov in0 = in1 + ;; + mov in1 = r8 + br.sptk.few bcopy END(memcpy) |