diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-04-26 07:56:14 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-04-26 07:56:14 +0000 |
commit | dde9407b507dfbf81a6d36b014cf7f0df935caa9 (patch) | |
tree | 114176812da9cf4bebaeeeec51fd4864bdcabac1 /sysdeps/ia64/strncpy.S | |
parent | 39ebfd809e2d807836aeb8dfd90e84430eea22b8 (diff) | |
download | glibc-dde9407b507dfbf81a6d36b014cf7f0df935caa9.tar.gz glibc-dde9407b507dfbf81a6d36b014cf7f0df935caa9.tar.xz glibc-dde9407b507dfbf81a6d36b014cf7f0df935caa9.zip |
Update.
2002-04-26 Ulrich Drepper <drepper@redhat.com> * sysdeps/ia64/strncpy.S: Fix recovery code. Patch by David Mosberger <davidm@hpl.hp.com>.
Diffstat (limited to 'sysdeps/ia64/strncpy.S')
-rw-r--r-- | sysdeps/ia64/strncpy.S | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sysdeps/ia64/strncpy.S b/sysdeps/ia64/strncpy.S index a6e0e7b7f2..f5c1c9da6f 100644 --- a/sysdeps/ia64/strncpy.S +++ b/sysdeps/ia64/strncpy.S @@ -205,6 +205,7 @@ ENTRY(strncpy) st1 [in0] = c, 1 // *dest++ = c (p6) cmp.ne p6, p0 = c, r0 br.cloop.dptk .l8 + ;; mov ar.lc = saved_lc // restore the loop counter mov pr = saved_pr, -1 // restore the predicate registers br.ret.sptk.many b0 @@ -213,11 +214,11 @@ ENTRY(strncpy) ld8 r[0] = [tmp] br.cond.sptk .back2 .recovery3: - add tmp = -(MEMLAT + 1) * 8, src ;; + add tmp = -MEMLAT * 8, src ;; ld8 r[MEMLAT] = [tmp] br.cond.sptk .back3 .recovery4: - add tmp = -(MEMLAT + 1) * 8, src ;; - ld8 r[MEMLAT] = [tmp] + add tmp = -(MEMLAT - 1) * 8, src ;; + ld8 r[MEMLAT - 1] = [tmp] br.cond.sptk .back4 END(strncpy) |