summary refs log tree commit diff
path: root/sysdeps/ia64
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-04-26 07:56:14 +0000
committerUlrich Drepper <drepper@redhat.com>2002-04-26 07:56:14 +0000
commitdde9407b507dfbf81a6d36b014cf7f0df935caa9 (patch)
tree114176812da9cf4bebaeeeec51fd4864bdcabac1 /sysdeps/ia64
parent39ebfd809e2d807836aeb8dfd90e84430eea22b8 (diff)
downloadglibc-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')
-rw-r--r--sysdeps/ia64/strncpy.S7
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)