Move memtag_stack out of libc_globals
We cannot use a WriteProtected because we are accessing it in a
multithreaded context.
Test: atest memtag_stack_dlopen_test w/ MTE
Test: atest bionic-unit-tests w/ MTE
Test: atest bionic-unit-tests on _fullmte
Bug: 328256432
Change-Id: I39faa75f97fd5b3fb755a46e88346c17c0e9a8e2
diff --git a/libc/arch-arm64/bionic/vfork.S b/libc/arch-arm64/bionic/vfork.S
index addb775..dd16349 100644
--- a/libc/arch-arm64/bionic/vfork.S
+++ b/libc/arch-arm64/bionic/vfork.S
@@ -28,7 +28,6 @@
#include <platform/bionic/tls_defines.h>
#include <private/bionic_asm.h>
-#include <private/bionic_asm_offsets.h>
#include <asm/signal.h>
#include <linux/sched.h>
@@ -58,8 +57,8 @@
// [1] https://cs.android.com/android/platform/superproject/+/master:system/extras/simpleperf/app_api/cpp/simpleperf.cpp;drc=788fa4183441f4977ddbd5a055e42a7fe7691d21;l=308
#if !__has_feature(hwaddress_sanitizer)
// if (!__libc_globals->memtag_stack) x0 |= CLONE_VM | CLONE_VFORK;
- adrp x1, __libc_globals + OFFSETOF_libc_globals_memtag_stack
- ldrb w1, [x1, :lo12:__libc_globals + OFFSETOF_libc_globals_memtag_stack]
+ adrp x1, __libc_memtag_stack
+ ldrb w1, [x1, :lo12:__libc_memtag_stack]
cbnz w1, 1f
orr x0, x0, #CLONE_VM
orr x0, x0, #CLONE_VFORK