Mark Wielaard 339000
commit 6b5fb6710eaa4151e3aea77355d8fa3366312857
Mark Wielaard 339000
Author: mjw <mjw@a5019735-40e9-0310-863c-91ae7b9d1cf9>
Mark Wielaard 339000
Date:   Tue Jul 7 13:01:39 2015 +0000
Mark Wielaard 339000
Mark Wielaard 339000
    349828 memcpy intercepts memmove causing src/dst overlap error (ppc64 ld.so)
Mark Wielaard 339000
    
Mark Wielaard 339000
    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15397 a5019735-40e9-0310-863c-91ae7b9d1cf9
Mark Wielaard 339000
Mark Wielaard 339000
diff --git a/shared/vg_replace_strmem.c b/shared/vg_replace_strmem.c
Mark Wielaard 339000
index d4e5449..0f366bf 100644
Mark Wielaard 339000
--- a/shared/vg_replace_strmem.c
Mark Wielaard 339000
+++ b/shared/vg_replace_strmem.c
Mark Wielaard 339000
@@ -1141,6 +1141,10 @@ static inline void my_exit ( int x )
Mark Wielaard 339000
 #if defined(VGO_linux)
Mark Wielaard 339000
  MEMMOVE(VG_Z_LIBC_SONAME, memmove)
Mark Wielaard 339000
  MEMMOVE(VG_Z_LIBC_SONAME, __GI_memmove)
Mark Wielaard 339000
+ /* See bug #349828 Override for ld64.so.1 like memcpy, because for some
Mark Wielaard 339000
+    arches MEMCPY_OK_FOR_FORWARD_MEMMOVE is set, which might cause memmove
Mark Wielaard 339000
+    to call memcpy.  */
Mark Wielaard 339000
+ MEMMOVE(VG_Z_LD64_SO_1, memmove)
Mark Wielaard 339000
 
Mark Wielaard 339000
 #elif defined(VGO_darwin)
Mark Wielaard 339000
 # if DARWIN_VERS <= DARWIN_10_6