--- ../cache/valgrind-3.13.0/include/pub_tool_libcsetjmp.h 2017-05-31 15:14:14.000000000 +0000 +++ ./include/pub_tool_libcsetjmp.h 2018-08-17 23:14:23.768384982 +0000 @@ -120,6 +120,16 @@ __attribute__((noreturn)) void VG_MINIMAL_LONGJMP(VG_MINIMAL_JMP_BUF(_env)); + +#elif defined(__ANDROID__) && defined(__aarch64__) + +/* Android clang/llvm has no __builtin_{setjmp,longjmp} for aarch64. */ +/* Use the same setjmp/longjmp functions for both gcc and clang. */ +#define VG_MINIMAL_JMP_BUF(_name) jmp_buf _name +#define VG_MINIMAL_SETJMP(_env) ((UWord)(setjmp((_env)))) +#define VG_MINIMAL_LONGJMP(_env) longjmp((_env),1) + + #elif defined(VGP_mips64_linux) #define VG_MINIMAL_JMP_BUF(_name) ULong _name [168 / sizeof(ULong)]