diff options
author | sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> | 2014-11-04 17:44:21 +0000 |
---|---|---|
committer | sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> | 2014-11-04 17:44:21 +0000 |
commit | 26ed419d60369d0545510eba0832566e24452e1e (patch) | |
tree | 53d14cfcc4294c98f3a212d25a536fb4f566b4cc /shared | |
parent | f278222c412882510ac424db7564e320a1c6cb91 (diff) | |
download | valgrind-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.c | 23 |
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 |