Reapply "[MTE] allocate ring buffer for stack history"
This reverts commit 45b29f13bbefd1edc1d16a15bb4c1f8e8d8068fc.
The observed slowdown was actually an artifact of stack alignment.
Change-Id: I3af8af33c624491124bfed07e869b4330adfacb3
diff --git a/libc/bionic/pthread_internal.h b/libc/bionic/pthread_internal.h
index b0e9461..b270a06 100644
--- a/libc/bionic/pthread_internal.h
+++ b/libc/bionic/pthread_internal.h
@@ -178,6 +178,10 @@
bionic_tls* bionic_tls;
int errno_value;
+
+ bionic_tcb* bionic_tcb;
+ char stack_mte_ringbuffer_vma_name_buffer[32];
+
bool is_main() { return start_routine == nullptr; }
};
@@ -209,6 +213,7 @@
__LIBC_HIDDEN__ void __pthread_internal_remove(pthread_internal_t* thread);
__LIBC_HIDDEN__ void __pthread_internal_remove_and_free(pthread_internal_t* thread);
__LIBC_HIDDEN__ void __find_main_stack_limits(uintptr_t* low, uintptr_t* high);
+__LIBC_HIDDEN__ void* __allocate_stack_mte_ringbuffer(size_t n, pthread_internal_t* thread);
static inline __always_inline bionic_tcb* __get_bionic_tcb() {
return reinterpret_cast<bionic_tcb*>(&__get_tls()[MIN_TLS_SLOT]);