From: Roland McGrath Date: Mon, 30 Sep 2002 20:15:35 +0000 (+0000) Subject: * sysdeps/ia64/strncpy.S: Only segfault in .recovery2 if some bits X-Git-Tag: upstream/2.30~20991 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f1bd8f456d1d03e0d9609cc2c61f92c2a850d605;p=external%2Fglibc.git * sysdeps/ia64/strncpy.S: Only segfault in .recovery2 if some bits from the next quad are needed. --- diff --git a/ChangeLog b/ChangeLog index 0d63f41..d46b7d1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2002-09-30 Jakub Jelinek + + * sysdeps/ia64/strncpy.S: Only segfault in .recovery2 if some bits + from the next quad are needed. + 2002-09-30 Roland McGrath * elf/tls-macros.h (TLS_LD, TLS_GD): Use call insn, not callq. diff --git a/sysdeps/ia64/strncpy.S b/sysdeps/ia64/strncpy.S index f5c1c9d..202741f 100644 --- a/sysdeps/ia64/strncpy.S +++ b/sysdeps/ia64/strncpy.S @@ -1,6 +1,6 @@ /* Optimized version of the standard strncpy() function. This file is part of the GNU C Library. - Copyright (C) 2000, 2001 Free Software Foundation, Inc. + Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. Contributed by Dan Pop and Jakub Jelinek . @@ -210,8 +210,11 @@ ENTRY(strncpy) mov pr = saved_pr, -1 // restore the predicate registers br.ret.sptk.many b0 .recovery2: + add c = 8, len add tmp = -8, asrc ;; - ld8 r[0] = [tmp] + cmp.gtu p8, p5 = c, thresh ;; +(p8) ld8 r[0] = [tmp] +(p5) mov r[0] = r0 br.cond.sptk .back2 .recovery3: add tmp = -MEMLAT * 8, src ;;