Skip to content

Commit 39bf411

Browse files
Abseil Teamcopybara-github
authored andcommitted
Exclude UnwindImpl etc. from thread sanitizer due to false positives.
PiperOrigin-RevId: 747180687 Change-Id: Ib3dcfe3b94acd626ee925aeb8213dcaf978a797d
1 parent 883c986 commit 39bf411

File tree

4 files changed

+9
-1
lines changed

4 files changed

+9
-1
lines changed

absl/debugging/internal/stacktrace_aarch64-inl.inc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,8 @@ static bool InsideSignalStack(void** ptr, const StackInfo* stack_info) {
102102
// "STRICT_UNWINDING") to reduce the chance that a bad pointer is returned.
103103
template<bool STRICT_UNWINDING, bool WITH_CONTEXT>
104104
ABSL_ATTRIBUTE_NO_SANITIZE_ADDRESS // May read random elements from stack.
105-
ABSL_ATTRIBUTE_NO_SANITIZE_MEMORY // May read random elements from stack.
105+
ABSL_ATTRIBUTE_NO_SANITIZE_MEMORY // May read random elements from stack.
106+
ABSL_ATTRIBUTE_NO_SANITIZE_THREAD // May read random elements from stack.
106107
static void **NextStackFrame(void **old_frame_pointer, const void *uc,
107108
const StackInfo *stack_info) {
108109
void **new_frame_pointer = reinterpret_cast<void**>(*old_frame_pointer);
@@ -185,6 +186,7 @@ template <bool IS_STACK_FRAMES, bool IS_WITH_CONTEXT>
185186
ABSL_ATTRIBUTE_NOINLINE
186187
ABSL_ATTRIBUTE_NO_SANITIZE_ADDRESS // May read random elements from stack.
187188
ABSL_ATTRIBUTE_NO_SANITIZE_MEMORY // May read random elements from stack.
189+
ABSL_ATTRIBUTE_NO_SANITIZE_THREAD // May read random elements from stack.
188190
static int UnwindImpl(void **result, uintptr_t *frames, int *sizes,
189191
int max_depth, int skip_count, const void *ucp,
190192
int *min_dropped_frames) {

absl/debugging/internal/stacktrace_powerpc-inl.inc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ static inline void **StacktracePowerPCGetLRPtr(void **sp) {
6969
template<bool STRICT_UNWINDING, bool IS_WITH_CONTEXT>
7070
ABSL_ATTRIBUTE_NO_SANITIZE_ADDRESS // May read random elements from stack.
7171
ABSL_ATTRIBUTE_NO_SANITIZE_MEMORY // May read random elements from stack.
72+
ABSL_ATTRIBUTE_NO_SANITIZE_THREAD // May read random elements from stack.
7273
static void **NextStackFrame(void **old_sp, const void *uc) {
7374
void **new_sp = (void **) *old_sp;
7475
enum { kStackAlignment = 16 };
@@ -164,6 +165,7 @@ ABSL_ATTRIBUTE_NOINLINE static void AbslStacktracePowerPCDummyFunction() {
164165
template <bool IS_STACK_FRAMES, bool IS_WITH_CONTEXT>
165166
ABSL_ATTRIBUTE_NO_SANITIZE_ADDRESS // May read random elements from stack.
166167
ABSL_ATTRIBUTE_NO_SANITIZE_MEMORY // May read random elements from stack.
168+
ABSL_ATTRIBUTE_NO_SANITIZE_THREAD // May read random elements from stack.
167169
static int UnwindImpl(void **result, uintptr_t *frames, int *sizes,
168170
int max_depth, int skip_count, const void *ucp,
169171
int *min_dropped_frames) {

absl/debugging/internal/stacktrace_riscv-inl.inc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ static inline ptrdiff_t ComputeStackFrameSize(const T *low, const T *high) {
5656
template <bool STRICT_UNWINDING, bool WITH_CONTEXT>
5757
ABSL_ATTRIBUTE_NO_SANITIZE_ADDRESS // May read random elements from stack.
5858
ABSL_ATTRIBUTE_NO_SANITIZE_MEMORY // May read random elements from stack.
59+
ABSL_ATTRIBUTE_NO_SANITIZE_THREAD // May read random elements from stack.
5960
static void ** NextStackFrame(void **old_frame_pointer, const void *uc,
6061
const std::pair<size_t, size_t> range) {
6162
// .
@@ -118,6 +119,7 @@ static void ** NextStackFrame(void **old_frame_pointer, const void *uc,
118119
template <bool IS_STACK_FRAMES, bool IS_WITH_CONTEXT>
119120
ABSL_ATTRIBUTE_NO_SANITIZE_ADDRESS // May read random elements from stack.
120121
ABSL_ATTRIBUTE_NO_SANITIZE_MEMORY // May read random elements from stack.
122+
ABSL_ATTRIBUTE_NO_SANITIZE_THREAD // May read random elements from stack.
121123
static int UnwindImpl(void **result, uintptr_t *frames, int *sizes,
122124
int max_depth, int skip_count, const void *ucp,
123125
int *min_dropped_frames) {

absl/debugging/internal/stacktrace_x86-inl.inc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,7 @@ static uintptr_t GetFP(const void *vuc) {
164164
template <bool STRICT_UNWINDING, bool WITH_CONTEXT>
165165
ABSL_ATTRIBUTE_NO_SANITIZE_ADDRESS // May read random elements from stack.
166166
ABSL_ATTRIBUTE_NO_SANITIZE_MEMORY // May read random elements from stack.
167+
ABSL_ATTRIBUTE_NO_SANITIZE_THREAD // May read random elements from stack.
167168
static void **NextStackFrame(void **old_fp, const void *uc,
168169
size_t stack_low, size_t stack_high) {
169170
void **new_fp = (void **)*old_fp;
@@ -327,6 +328,7 @@ static void **NextStackFrame(void **old_fp, const void *uc,
327328
template <bool IS_STACK_FRAMES, bool IS_WITH_CONTEXT>
328329
ABSL_ATTRIBUTE_NO_SANITIZE_ADDRESS // May read random elements from stack.
329330
ABSL_ATTRIBUTE_NO_SANITIZE_MEMORY // May read random elements from stack.
331+
ABSL_ATTRIBUTE_NO_SANITIZE_THREAD // May read random elements from stack.
330332
ABSL_ATTRIBUTE_NOINLINE
331333
static int UnwindImpl(void **result, uintptr_t *frames, int *sizes,
332334
int max_depth, int skip_count, const void *ucp,

0 commit comments

Comments
 (0)