Update Marl to aa9e85b21
Changes:
aa9e85b218 Fix build on MacOS
Commands:
./third_party/update-marl.sh
Bug: b/140546382
Change-Id: I435f7dcb894d7e4c29ec2f9578a814e93404172b
diff --git a/third_party/marl/src/osfiber_aarch64.c b/third_party/marl/src/osfiber_aarch64.c
index 536fab9..9d9a381 100644
--- a/third_party/marl/src/osfiber_aarch64.c
+++ b/third_party/marl/src/osfiber_aarch64.c
@@ -25,12 +25,15 @@
target(arg);
}
+// __attribute__((weak)) doesn't work on MacOS.
+#if defined(linux) || defined(__linux) || defined(__linux__)
// This is needed for HWSAan runtimes that don't have this commit:
// https://reviews.llvm.org/D149228.
__attribute__((weak)) void __hwasan_tag_memory(const volatile void *p,
unsigned char tag, size_t size);
__attribute((weak)) void *__hwasan_tag_pointer(const volatile void *p,
unsigned char tag);
+#endif
MARL_EXPORT
void marl_fiber_set_target(struct marl_fiber_context* ctx,
@@ -38,10 +41,13 @@
uint32_t stack_size,
void (*target)(void*),
void* arg) {
+
+#if defined(linux) || defined(__linux) || defined(__linux__)
if (__hwasan_tag_memory && __hwasan_tag_pointer) {
stack = __hwasan_tag_pointer(stack, 0);
__hwasan_tag_memory(stack, 0, stack_size);
}
+#endif
uintptr_t* stack_top = (uintptr_t*)((uint8_t*)(stack) + stack_size);
ctx->LR = (uintptr_t)&marl_fiber_trampoline;
ctx->r0 = (uintptr_t)target;