aboutsummaryrefslogtreecommitdiff
path: root/shared
diff options
context:
space:
mode:
authorsewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9>2014-11-04 17:44:21 +0000
committersewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9>2014-11-04 17:44:21 +0000
commit26ed419d60369d0545510eba0832566e24452e1e (patch)
tree53d14cfcc4294c98f3a212d25a536fb4f566b4cc /shared
parentf278222c412882510ac424db7564e320a1c6cb91 (diff)
downloadvalgrind-26ed419d60369d0545510eba0832566e24452e1e.tar.gz
Adds initial support for AArch64 (arm64) on Android. Small programs
(/system/bin/ls, /system/bin/date) run. Still to do: * enable more malloc/free intercepts * enable wrappers for ashmem and binder syscalls * check to see if any special ioctl support is required for ARM Mali GPUs git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14690 a5019735-40e9-0310-863c-91ae7b9d1cf9
Diffstat (limited to 'shared')
-rw-r--r--shared/vg_replace_strmem.c23
1 files changed, 15 insertions, 8 deletions
diff --git a/shared/vg_replace_strmem.c b/shared/vg_replace_strmem.c
index 4ef6286f5..8f699db14 100644
--- a/shared/vg_replace_strmem.c
+++ b/shared/vg_replace_strmem.c
@@ -145,7 +145,7 @@ __attribute__ ((__noreturn__))
static inline void my_exit ( int x )
{
# if defined(VGPV_arm_linux_android) || defined(VGPV_mips32_linux_android) \
- || defined(VGPV_mips32_linux_android)
+ || defined(VGPV_arm64_linux_android)
__asm__ __volatile__(".word 0xFFFFFFFF");
while (1) {}
# elif defined(VGPV_x86_linux_android)
@@ -419,7 +419,8 @@ static inline void my_exit ( int x )
STRLEN(VG_Z_LIBC_SONAME, __strlen_sse42)
STRLEN(VG_Z_LD_LINUX_SO_2, strlen)
STRLEN(VG_Z_LD_LINUX_X86_64_SO_2, strlen)
-# if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android) \
+# if defined(VGPV_arm_linux_android) \
+ || defined(VGPV_x86_linux_android) \
|| defined(VGPV_mips32_linux_android)
STRLEN(NONE, __dl_strlen); /* in /system/bin/linker */
# endif
@@ -610,8 +611,10 @@ static inline void my_exit ( int x )
}
#if defined(VGO_linux)
-# if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android) \
- && !defined(VGPV_mips32_linux_android)
+# if !defined(VGPV_arm_linux_android) \
+ && !defined(VGPV_x86_linux_android) \
+ && !defined(VGPV_mips32_linux_android) \
+ && !defined(VGPV_arm64_linux_android)
STRCASECMP(VG_Z_LIBC_SONAME, strcasecmp)
STRCASECMP(VG_Z_LIBC_SONAME, __GI_strcasecmp)
# endif
@@ -648,8 +651,10 @@ static inline void my_exit ( int x )
}
#if defined(VGO_linux)
-# if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android) \
- && !defined(VGPV_mips32_linux_android)
+# if !defined(VGPV_arm_linux_android) \
+ && !defined(VGPV_x86_linux_android) \
+ && !defined(VGPV_mips32_linux_android) \
+ && !defined(VGPV_arm64_linux_android)
STRNCASECMP(VG_Z_LIBC_SONAME, strncasecmp)
STRNCASECMP(VG_Z_LIBC_SONAME, __GI_strncasecmp)
# endif
@@ -1632,8 +1637,10 @@ static inline void my_exit ( int x )
}
#if defined(VGO_linux)
-# if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android) \
- && !defined(VGPV_mips32_linux_android)
+# if !defined(VGPV_arm_linux_android) \
+ && !defined(VGPV_x86_linux_android) \
+ && !defined(VGPV_mips32_linux_android) \
+ && !defined(VGPV_arm64_linux_android)
STRCASESTR(VG_Z_LIBC_SONAME, strcasestr)
# endif