1 Only in /huge-ssd/aosp-arm64/external/valgrind/: android 2 Only in /huge-ssd/aosp-arm64/external/valgrind/: Android.build_all.mk 3 Only in /huge-ssd/aosp-arm64/external/valgrind/: Android.build_host.mk 4 Only in /huge-ssd/aosp-arm64/external/valgrind/: Android.build_one.mk 5 Only in /huge-ssd/aosp-arm64/external/valgrind/: Android.clean.mk 6 Only in /huge-ssd/aosp-arm64/external/valgrind/: Android.mk 7 Only in /huge-ssd/aosp-arm64/external/valgrind/: ANDROID_PATCH_AGAINST_UPSTREAM.txt 8 Only in /huge-ssd/aosp-arm64/external/valgrind/: Android.test.mk 9 diff '--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 */ 87 diff '--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; 106 diff '--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. */ 121 diff '--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)); 137 diff '--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. */ 155 Only in /huge-ssd/aosp-arm64/external/valgrind/: runtests-arm64.sh 156 Only in /huge-ssd/aosp-arm64/external/valgrind/: runtests-arm.sh 157 Only in /huge-ssd/aosp-arm64/external/valgrind/: runtest.sh 158