forked from OSchip/llvm-project
[tsan] Expose __tsan_ignore_thread_begin and __tsan_ignore_thread_end in TSan interface
This patch is needed to implement the function attribute that disable TSan checking at run time. Differential Revision: https://reviews.llvm.org/D25859 llvm-svn: 286658
This commit is contained in:
parent
96a905f7ba
commit
be15addffe
|
@ -73,6 +73,9 @@ void __tsan_vptr_update(void **vptr_p, void *new_val);
|
|||
SANITIZER_INTERFACE_ATTRIBUTE void __tsan_func_entry(void *call_pc);
|
||||
SANITIZER_INTERFACE_ATTRIBUTE void __tsan_func_exit();
|
||||
|
||||
SANITIZER_INTERFACE_ATTRIBUTE void __tsan_ignore_thread_begin();
|
||||
SANITIZER_INTERFACE_ATTRIBUTE void __tsan_ignore_thread_end();
|
||||
|
||||
SANITIZER_INTERFACE_ATTRIBUTE
|
||||
void __tsan_read_range(void *addr, unsigned long size); // NOLINT
|
||||
SANITIZER_INTERFACE_ATTRIBUTE
|
||||
|
|
|
@ -108,6 +108,14 @@ void __tsan_func_exit() {
|
|||
FuncExit(cur_thread());
|
||||
}
|
||||
|
||||
void __tsan_ignore_thread_begin() {
|
||||
ThreadIgnoreBegin(cur_thread(), CALLERPC);
|
||||
}
|
||||
|
||||
void __tsan_ignore_thread_end() {
|
||||
ThreadIgnoreEnd(cur_thread(), CALLERPC);
|
||||
}
|
||||
|
||||
void __tsan_read_range(void *addr, uptr size) {
|
||||
MemoryAccessRange(cur_thread(), CALLERPC, (uptr)addr, size, false);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue