aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/i386/i486/bits/string.h3
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index b048b71eb1..b2969c9543 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2004-12-15 Ulrich Drepper <drepper@redhat.com>
+
+ * sysdeps/i386/i486/bits/string.h (__strncat_g): Fix i686
+ implementation.
+
2004-09-08 H.J. Lu <hongjiu.lu@intel.com>
* Makeconfig (libunwind): New.
diff --git a/sysdeps/i386/i486/bits/string.h b/sysdeps/i386/i486/bits/string.h
index 099d720a4c..0e24081127 100644
--- a/sysdeps/i386/i486/bits/string.h
+++ b/sysdeps/i386/i486/bits/string.h
@@ -1050,6 +1050,7 @@ __strncat_g (char *__dest, __const char __src[], size_t __n)
#ifdef __i686__
__asm__ __volatile__
("repne; scasb\n"
+ "movl %%edx, %3\n\t"
"decl %1\n\t"
"1:\n\t"
"decl %3\n\t"
@@ -1062,7 +1063,7 @@ __strncat_g (char *__dest, __const char __src[], size_t __n)
"2:\n\t"
"movb $0,(%1)"
: "=&a" (__dummy), "=&D" (__tmp), "=&S" (__src), "=&c" (__n)
- : "0" (0), "1" (__tmp), "2" (__src), "3" (__n)
+ : "0" (0), "1" (__tmp), "2" (__src), "3" (0xffffffff), "d" (__n)
: "memory", "cc");
#else
--__tmp;