From: Dmitry Vyukov Date: Tue, 27 Nov 2012 08:41:39 +0000 (+0000) Subject: tsan: add memory range access functions to public iface X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=210c21129ec88b55d01caecc6de4476a281aee85;p=platform%2Fupstream%2Fllvm.git tsan: add memory range access functions to public iface llvm-svn: 168692 --- diff --git a/compiler-rt/lib/tsan/rtl/tsan_interface.h b/compiler-rt/lib/tsan/rtl/tsan_interface.h index ed21ec6..c2a493c 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 233f902..8a92155 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); +}