diff options
| -rw-r--r-- | compiler-rt/lib/tsan/rtl/tsan_interface.h | 3 | ||||
| -rw-r--r-- | compiler-rt/lib/tsan/rtl/tsan_interface_inl.h | 8 | 
2 files changed, 11 insertions, 0 deletions
diff --git a/compiler-rt/lib/tsan/rtl/tsan_interface.h b/compiler-rt/lib/tsan/rtl/tsan_interface.h index ed21ec60544..c2a493cde7e 100644 --- a/compiler-rt/lib/tsan/rtl/tsan_interface.h +++ b/compiler-rt/lib/tsan/rtl/tsan_interface.h @@ -44,6 +44,9 @@ void __tsan_vptr_update(void **vptr_p, void *new_val);  void __tsan_func_entry(void *call_pc);  void __tsan_func_exit(); +void __tsan_read_range(void *addr, unsigned long size);  // NOLINT +void __tsan_write_range(void *addr, unsigned long size);  // NOLINT +  #ifdef __cplusplus  }  // extern "C"  #endif diff --git a/compiler-rt/lib/tsan/rtl/tsan_interface_inl.h b/compiler-rt/lib/tsan/rtl/tsan_interface_inl.h index 233f9028a63..8a92155d57e 100644 --- a/compiler-rt/lib/tsan/rtl/tsan_interface_inl.h +++ b/compiler-rt/lib/tsan/rtl/tsan_interface_inl.h @@ -63,3 +63,11 @@ void __tsan_func_entry(void *pc) {  void __tsan_func_exit() {    FuncExit(cur_thread());  } + +void __tsan_read_range(void *addr, uptr size) { +  MemoryAccessRange(cur_thread(), CALLERPC, (uptr)addr, size, false); +} + +void __tsan_write_range(void *addr, uptr size) { +  MemoryAccessRange(cur_thread(), CALLERPC, (uptr)addr, size, true); +}  | 

