For the ld.so redirections for arm32-linux, allow the soname
ld-linux-armhf.so.3 in addition to the existing name, ld-linux.so.3.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13909 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/m_redir.c b/coregrind/m_redir.c
index 69d0f37..e5dc248 100644
--- a/coregrind/m_redir.c
+++ b/coregrind/m_redir.c
@@ -1299,24 +1299,33 @@
    }
 
 #  elif defined(VGP_arm_linux)
-   /* If we're using memcheck, use these intercepts right from
-      the start, otherwise ld.so makes a lot of noise. */
+   /* If we're using memcheck, use these intercepts right from the
+      start, otherwise ld.so makes a lot of noise.  In most ARM-linux
+      distros, ld.so's soname is ld-linux.so.3, but Ubuntu 14.04 on
+      Odroid uses ld-linux-armhf.so.3 for some reason. */
    if (0==VG_(strcmp)("Memcheck", VG_(details).name)) {
+      /* strlen */
       add_hardwired_spec(
          "ld-linux.so.3", "strlen",
          (Addr)&VG_(arm_linux_REDIR_FOR_strlen),
          complain_about_stripped_glibc_ldso
       );
-      //add_hardwired_spec(
-      //   "ld-linux.so.3", "index",
-      //   (Addr)&VG_(arm_linux_REDIR_FOR_index),
-      //   NULL 
-      //);
+      add_hardwired_spec(
+         "ld-linux-armhf.so.3", "strlen",
+         (Addr)&VG_(arm_linux_REDIR_FOR_strlen),
+         complain_about_stripped_glibc_ldso
+      );
+      /* memcpy */
       add_hardwired_spec(
          "ld-linux.so.3", "memcpy",
          (Addr)&VG_(arm_linux_REDIR_FOR_memcpy),
          complain_about_stripped_glibc_ldso
       );
+      add_hardwired_spec(
+         "ld-linux-armhf.so.3", "memcpy",
+         (Addr)&VG_(arm_linux_REDIR_FOR_memcpy),
+         complain_about_stripped_glibc_ldso
+      );
    }
 
 #  elif defined(VGP_arm64_linux)