From 210c21129ec88b55d01caecc6de4476a281aee85 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Tue, 27 Nov 2012 08:41:39 +0000 Subject: [PATCH] tsan: add memory range access functions to public iface llvm-svn: 168692 --- compiler-rt/lib/tsan/rtl/tsan_interface.h | 3 +++ compiler-rt/lib/tsan/rtl/tsan_interface_inl.h | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/compiler-rt/lib/tsan/rtl/tsan_interface.h b/compiler-rt/lib/tsan/rtl/tsan_interface.h index ed21ec60544e..c2a493cde7e3 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 233f9028a63b..8a92155d57ef 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); +} -- GitLab