termux-packages/packages/valgrind/libcsetjmp.h.patch

20 lines
750 B
Diff

--- ../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)]