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