1Only in /huge-ssd/aosp-arm64/external/valgrind/: android 2Only in /huge-ssd/aosp-arm64/external/valgrind/: Android.build_all.mk 3Only in /huge-ssd/aosp-arm64/external/valgrind/: Android.build_host.mk 4Only in /huge-ssd/aosp-arm64/external/valgrind/: Android.build_one.mk 5Only in /huge-ssd/aosp-arm64/external/valgrind/: Android.clean.mk 6Only in /huge-ssd/aosp-arm64/external/valgrind/: Android.mk 7Only in /huge-ssd/aosp-arm64/external/valgrind/: ANDROID_PATCH_AGAINST_UPSTREAM.txt 8Only in /huge-ssd/aosp-arm64/external/valgrind/: Android.test.mk 9diff '--exclude=.git' -ru valgrind-3.13.0/config.h /huge-ssd/aosp-arm64/external/valgrind/config.h 10--- valgrind-3.13.0/config.h 2017-06-21 14:11:07.177545261 -0700 11+++ /huge-ssd/aosp-arm64/external/valgrind/config.h 2017-06-21 14:07:44.786099941 -0700 12@@ -45,10 +45,14 @@ 13 14 /* Define to 1 if index() and strlen() have been optimized heavily (x86 glibc 15 >= 2.12) */ 16+#ifndef __ANDROID__ 17 #define GLIBC_MANDATORY_INDEX_AND_STRLEN_REDIRECT 1 18+#endif 19 20 /* Define to 1 if strlen() has been optimized heavily (amd64 glibc >= 2.10) */ 21+#ifndef __ANDROID__ 22 #define GLIBC_MANDATORY_STRLEN_REDIRECT 1 23+#endif 24 25 /* Define to 1 if you have the <asm/unistd.h> header file. */ 26 #define HAVE_ASM_UNISTD_H 1 27@@ -86,13 +90,15 @@ 28 #define HAVE_CLOCK_MONOTONIC 1 29 30 /* Define to 1 if you have a dlinfo that can do RTLD_DI_TLS_MODID. */ 31+#ifndef __ANDROID__ 32 #define HAVE_DLINFO_RTLD_DI_TLS_MODID 1 33+#endif 34 35 /* Define to 1 if the system has the type `Elf32_Chdr'. */ 36-/* #undef HAVE_ELF32_CHDR */ 37+//#define HAVE_ELF32_CHDR 1 38 39 /* Define to 1 if the system has the type `Elf64_Chdr'. */ 40-/* #undef HAVE_ELF64_CHDR */ 41+//#define HAVE_ELF64_CHDR 1 42 43 /* Define to 1 if you have the <endian.h> header file. */ 44 #define HAVE_ENDIAN_H 1 45@@ -170,7 +176,9 @@ 46 /* #undef HAVE_PTHREAD_CREATE_GLIBC_2_0 */ 47 48 /* Define to 1 if you have the `PTHREAD_MUTEX_ADAPTIVE_NP' constant. */ 49+#ifndef __ANDROID__ 50 #define HAVE_PTHREAD_MUTEX_ADAPTIVE_NP 1 51+#endif 52 53 /* Define to 1 if you have the `PTHREAD_MUTEX_ERRORCHECK_NP' constant. */ 54 #define HAVE_PTHREAD_MUTEX_ERRORCHECK_NP 1 55@@ -182,7 +190,9 @@ 56 #define HAVE_PTHREAD_MUTEX_TIMEDLOCK 1 57 58 /* Define to 1 if pthread_mutex_t has a member __data.__kind. */ 59+#ifndef __ANDROID__ 60 #define HAVE_PTHREAD_MUTEX_T__DATA__KIND 1 61+#endif 62 63 /* Define to 1 if pthread_mutex_t has a member called __m_kind. */ 64 /* #undef HAVE_PTHREAD_MUTEX_T__M_KIND */ 65@@ -219,7 +229,9 @@ 66 #define HAVE_SEMTIMEDOP 1 67 68 /* Define to 1 if libstd++ supports annotating shared pointers */ 69+#ifndef __ANDROID__ 70 #define HAVE_SHARED_POINTER_ANNOTATION 1 71+#endif 72 73 /* Define to 1 if you have the `signalfd' function. */ 74 #define HAVE_SIGNALFD 1 75@@ -456,7 +468,11 @@ 76 #define VERSION "3.13.0" 77 78 /* Temporary files directory */ 79+#ifdef __ANDROID__ 80+#define VG_TMPDIR "/data/local/tmp" 81+#else 82 #define VG_TMPDIR "/tmp" 83+#endif 84 85 /* Define to `int' if <sys/types.h> doesn't define. */ 86 /* #undef gid_t */ 87diff '--exclude=.git' -ru valgrind-3.13.0/coregrind/m_coredump/coredump-elf.c /huge-ssd/aosp-arm64/external/valgrind/coregrind/m_coredump/coredump-elf.c 88--- valgrind-3.13.0/coregrind/m_coredump/coredump-elf.c 2017-05-31 08:14:48.000000000 -0700 89+++ /huge-ssd/aosp-arm64/external/valgrind/coregrind/m_coredump/coredump-elf.c 2017-06-21 14:08:45.497933443 -0700 90@@ -135,6 +135,7 @@ 91 phdr->p_align = VKI_PAGE_SIZE; 92 } 93 94+#if 0 /* We've had Elf32_Nhdr since at least froyo! */ 95 #if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android) \ 96 || defined(VGPV_mips32_linux_android) 97 /* Android's libc doesn't provide a definition for this. Hence: */ 98@@ -146,6 +147,7 @@ 99 } 100 Elf32_Nhdr; 101 #endif 102+#endif 103 104 struct note { 105 struct note *next; 106diff '--exclude=.git' -ru valgrind-3.13.0/coregrind/vgdb.c /huge-ssd/aosp-arm64/external/valgrind/coregrind/vgdb.c 107--- valgrind-3.13.0/coregrind/vgdb.c 2017-05-31 08:14:29.000000000 -0700 108+++ /huge-ssd/aosp-arm64/external/valgrind/coregrind/vgdb.c 2017-06-21 14:17:48.668450889 -0700 109@@ -682,10 +682,7 @@ 110 sigpipe++; 111 } else if (signum == SIGALRM) { 112 sigalrm++; 113-#if defined(VGPV_arm_linux_android) \ 114- || defined(VGPV_x86_linux_android) \ 115- || defined(VGPV_mips32_linux_android) \ 116- || defined(VGPV_arm64_linux_android) 117+#if defined(__BIONIC__) 118 /* Android has no pthread_cancel. As it also does not have 119 an invoker implementation, there is no need for cleanup action. 120 So, we just do nothing. */ 121diff '--exclude=.git' -ru valgrind-3.13.0/coregrind/vg_preloaded.c /huge-ssd/aosp-arm64/external/valgrind/coregrind/vg_preloaded.c 122--- valgrind-3.13.0/coregrind/vg_preloaded.c 2017-05-31 08:14:39.000000000 -0700 123+++ /huge-ssd/aosp-arm64/external/valgrind/coregrind/vg_preloaded.c 2017-06-21 14:21:53.515782606 -0700 124@@ -58,10 +58,11 @@ 125 void VG_NOTIFY_ON_LOAD(freeres)(Vg_FreeresToRun to_run) 126 { 127 # if !defined(__UCLIBC__) && !defined(MUSL_LIBC) \ 128+ && !defined(VGPV_amd64_linux_android) \ 129 && !defined(VGPV_arm_linux_android) \ 130 && !defined(VGPV_x86_linux_android) \ 131 && !defined(VGPV_mips32_linux_android) \ 132- && !defined(VGPV_arm64_linux_android) 133+ && !defined(VGPV_arm64_linux_android) \ 134 135 /* g++ mangled __gnu_cxx::__freeres yields -> _ZN9__gnu_cxx9__freeresEv */ 136 extern void _ZN9__gnu_cxx9__freeresEv(void) __attribute__((weak)); 137diff '--exclude=.git' -ru valgrind-3.13.0/include/pub_tool_libcsetjmp.h /huge-ssd/aosp-arm64/external/valgrind/include/pub_tool_libcsetjmp.h 138--- valgrind-3.13.0/include/pub_tool_libcsetjmp.h 2017-05-31 08:14:14.000000000 -0700 139+++ /huge-ssd/aosp-arm64/external/valgrind/include/pub_tool_libcsetjmp.h 2017-06-21 14:27:04.766932185 -0700 140@@ -128,6 +128,14 @@ 141 __attribute__((noreturn)) 142 void VG_MINIMAL_LONGJMP(VG_MINIMAL_JMP_BUF(_env)); 143 144+#elif defined(VGPV_arm64_linux_android) 145+ 146+/* Android clang/llvm has no __builtin_{setjmp,longjmp} for aarch64. */ 147+/* Use the same setjmp/longjmp functions for both gcc and clang. */ 148+#define VG_MINIMAL_JMP_BUF(_name) jmp_buf _name 149+#define VG_MINIMAL_SETJMP(_env) ((UWord)(setjmp((_env)))) 150+#define VG_MINIMAL_LONGJMP(_env) longjmp((_env),1) 151+ 152 #else 153 154 /* The default implementation. */ 155Only in /huge-ssd/aosp-arm64/external/valgrind/: runtests-arm64.sh 156Only in /huge-ssd/aosp-arm64/external/valgrind/: runtests-arm.sh 157Only in /huge-ssd/aosp-arm64/external/valgrind/: runtest.sh 158