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)