From bfdc1a795a2637fcf9fa750571da153c0d117b4a Mon Sep 17 00:00:00 2001 From: Kirill Stoimenov Date: Wed, 14 Dec 2022 23:47:25 +0000 Subject: [PATCH] [HWASAN] Added dtls_ member variable which is needed by __lsan::GetThreadRangesLocked. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D140065 --- compiler-rt/lib/hwasan/hwasan_thread.cpp | 1 + compiler-rt/lib/hwasan/hwasan_thread.h | 2 ++ 2 files changed, 3 insertions(+) diff --git a/compiler-rt/lib/hwasan/hwasan_thread.cpp b/compiler-rt/lib/hwasan/hwasan_thread.cpp index c776ae1..f14f33e 100644 --- a/compiler-rt/lib/hwasan/hwasan_thread.cpp +++ b/compiler-rt/lib/hwasan/hwasan_thread.cpp @@ -54,6 +54,7 @@ void Thread::Init(uptr stack_buffer_start, uptr stack_buffer_size, InitStackRingBuffer(stack_buffer_start, stack_buffer_size); #endif InitStackAndTls(state); + dtls_ = DTLS_Get(); } void Thread::InitStackRingBuffer(uptr stack_buffer_start, diff --git a/compiler-rt/lib/hwasan/hwasan_thread.h b/compiler-rt/lib/hwasan/hwasan_thread.h index 296fa8f..1deec76 100644 --- a/compiler-rt/lib/hwasan/hwasan_thread.h +++ b/compiler-rt/lib/hwasan/hwasan_thread.h @@ -46,6 +46,7 @@ class Thread { uptr stack_size() { return stack_top() - stack_bottom(); } uptr tls_begin() { return tls_begin_; } uptr tls_end() { return tls_end_; } + DTLS *dtls() { return dtls_; } bool IsMainThread() { return unique_id_ == 0; } bool AddrIsInStack(uptr addr) { @@ -81,6 +82,7 @@ class Thread { uptr stack_bottom_; uptr tls_begin_; uptr tls_end_; + DTLS *dtls_; u32 random_state_; u32 random_buffer_; -- 2.7.4