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
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);
+}