]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
memmove on glibc on amd64 is over-optimised; replace it.
authorJulian Seward <jseward@acm.org>
Thu, 12 May 2005 17:58:28 +0000 (17:58 +0000)
committerJulian Seward <jseward@acm.org>
Thu, 12 May 2005 17:58:28 +0000 (17:58 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3680

memcheck/mac_replace_strmem.c

index d8b37d5899ca9c7474d5a07015a073d25ec5dbda..2b7c4c66282a0041e0b171cdb49b962080ccd1ee 100644 (file)
@@ -362,6 +362,23 @@ DECL( void *memset(void *s, Int c, SizeT n) )
    return s;
 }
 
+DECL( void *memmove(void *dstV, const void *srcV, SizeT n) )
+{
+   SizeT i;
+   Char* dst = (Char*)dstV;
+   Char* src = (Char*)srcV;
+   if (dst < src) {
+      for (i = 0; i < n; i++)
+         dst[i] = src[i];
+   }
+   else 
+   if (dst > src) {
+      for (i = 0; i < n; i++)
+         dst[n-i-1] = src[n-i-1];
+   }
+   return dst;
+}
+
 
 /* Find the first occurrence of C in S or the final NUL byte.  */