about summary refs log tree commit diff
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;