[Linux-ia64] IA64 strncpy in 2.2.4-30 - bug and patch

Reese Faucette
2002-11-06T00:39:27Z

[-- Attachment #1.1: Type: text/plain, Size: 566 bytes --]

Hi,
I opened a bug with RedHat about a problem with strncpy() in glibc-2.2.4-30 on IA64, see https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=76952, but I've been told you folks are really the ones to talk to.

The bug report contains a testcase illustrating the problem, and also a patch. In short, the recovery code is busted, even after the patch from David Mosberger. Attached is a copy of the patch from the bug report.

I have a testcase which exercizes both the recovery3 and recovery4 paths if you're interested.
Regards,
-reese faucette

[-- Attachment #1.2: Type: text/html, Size: 1381 bytes --]

[-- Attachment #2: strncpy.patch --]
[-- Type: application/octet-stream, Size: 437 bytes --]

--- strncpy.S Thu Oct 31 15:19:46 2002
+++ new/strncpy.S Thu Oct 31 17:11:34 2002
@@ -214,11 +214,11 @@
ld8 r[0] = [tmp]
br.cond.sptk .back2
.recovery3:
- add tmp = -MEMLAT * 8, src ;;
+ add tmp = -(MEMLAT+1) * 8, src ;;
ld8 r[MEMLAT] = [tmp]
br.cond.sptk .back3
.recovery4:
- add tmp = -(MEMLAT - 1) * 8, src ;;
+ add tmp = -(MEMLAT) * 8, src ;;
ld8 r[MEMLAT - 1] = [tmp]