llvm-project/compiler-rt/lib/tsan/rtl
Alexey Samsonov 627e2c0dd7 [Sanitizer] Add Symbolizer::AddHooks() and use it in TSan and MSan.
Summary:
TSan and MSan need to know if interceptor was called by the
user code or by the symbolizer and use pre- and post-symbolization hooks
for that. Make Symbolizer class responsible for calling these hooks instead.
This would ensure the hooks are only called when necessary (during
in-process symbolization, they are not needed for out-of-process) and
save specific sanitizers from tracing all places in the code where symbolization
will be performed.

Reviewers: eugenis, dvyukov

Reviewed By: eugenis

CC: llvm-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D2067

llvm-svn: 193807
2013-10-31 21:44:07 +00:00
..
Makefile.mk [ASan] Delete the code related to static runtime on OS X. 2013-02-05 15:57:12 +00:00
Makefile.old [tsan] Remove -Wgnu from Makefile.old. 2013-05-23 11:57:47 +00:00
tsan.syms.extra [TSan] Add ValgrindSlowdown to the list of exported symbols 2013-10-04 13:12:05 +00:00
tsan_clock.cc tsan: more precise handling of finalizers 2012-11-07 15:08:20 +00:00
tsan_clock.h tsan: more precise handling of finalizers 2012-11-07 15:08:20 +00:00
tsan_defs.h tsan: move shadow stack from thread descriptors to fixed addresses 2013-10-16 15:35:12 +00:00
tsan_fd.cc tsan: do not crash when apparently bogus fd is passed to e.g. close 2013-10-25 09:45:44 +00:00
tsan_fd.h tsan: detect races on fd passed to epoll_ctl 2013-01-09 17:31:27 +00:00
tsan_flags.cc tsan: add a test for __tsan_default_options() 2013-10-17 08:13:38 +00:00
tsan_flags.h tsan: move verbosity flag to CommonFlags 2013-10-15 13:28:51 +00:00
tsan_interceptors.cc [tsan] Fix unused variable warnings. 2013-10-29 18:44:52 +00:00
tsan_interface.cc Define SANITIZER_INTERFACE_ATTRIBUTE on Windows and fix all the places where SANITIZER_INTERFACE_ATTRIBUTE or SANITIZER_ATTRIBUTE_WEAK are used 2013-08-13 11:42:45 +00:00
tsan_interface.h Define SANITIZER_INTERFACE_ATTRIBUTE on Windows and fix all the places where SANITIZER_INTERFACE_ATTRIBUTE or SANITIZER_ATTRIBUTE_WEAK are used 2013-08-13 11:42:45 +00:00
tsan_interface_ann.cc tsan: add annotations to ignore synchronization operations 2013-10-10 15:58:12 +00:00
tsan_interface_ann.h Define SANITIZER_INTERFACE_ATTRIBUTE on Windows and fix all the places where SANITIZER_INTERFACE_ATTRIBUTE or SANITIZER_ATTRIBUTE_WEAK are used 2013-08-13 11:42:45 +00:00
tsan_interface_atomic.cc tsan: add annotations to ignore synchronization operations 2013-10-10 15:58:12 +00:00
tsan_interface_atomic.h tsan: fix compilation with -pedantic 2012-12-13 15:26:04 +00:00
tsan_interface_inl.h tsan: better reporting for races on vptr 2013-03-21 15:37:39 +00:00
tsan_interface_java.cc tsan: ignore interceptors coming from specified libraries 2013-10-03 13:37:17 +00:00
tsan_interface_java.h tsan: ignore interceptors coming from specified libraries 2013-10-03 13:37:17 +00:00
tsan_md5.cc [Sanitizer] update style checker script and fix namespace style warnings 2013-01-30 07:45:58 +00:00
tsan_mman.cc tsan: allow to ignore memory accesses in malloc and free 2013-09-20 05:37:36 +00:00
tsan_mman.h tsan: intercept setjmp/longjmp 2013-03-25 10:10:44 +00:00
tsan_mutex.cc tsan: fix deadlock detector table (OK to lock sync var mutex during reporting) 2013-04-30 12:00:40 +00:00
tsan_mutex.h tsan: update mutex table for java 2012-12-21 11:30:14 +00:00
tsan_mutexset.cc tsan: add mutexsets to reports 2012-12-06 12:16:15 +00:00
tsan_mutexset.h tsan: reduce size of mutexsets from 64 to 16 mutexes 2013-03-20 13:50:47 +00:00
tsan_platform.h tsan: move shadow stack from thread descriptors to fixed addresses 2013-10-16 15:35:12 +00:00
tsan_platform_linux.cc tsan: fix Go build 2013-10-15 13:03:06 +00:00
tsan_platform_mac.cc [sanitizer] Move GetThreadStackAndTls from TSan to sanitizer_common. 2013-05-07 14:41:43 +00:00
tsan_platform_windows.cc [sanitizer] Move GetThreadStackAndTls from TSan to sanitizer_common. 2013-05-07 14:41:43 +00:00
tsan_report.cc [TSan] Extend test for reporting globals with races on them 2013-10-16 09:56:17 +00:00
tsan_report.h tsan: better reporting of thread leaks 2013-03-21 16:55:17 +00:00
tsan_rtl.cc [Sanitizer] Add Symbolizer::AddHooks() and use it in TSan and MSan. 2013-10-31 21:44:07 +00:00
tsan_rtl.h tsan: move shadow stack from thread descriptors to fixed addresses 2013-10-16 15:35:12 +00:00
tsan_rtl_amd64.S tsan: intercept setjmp/longjmp 2013-03-25 10:10:44 +00:00
tsan_rtl_mutex.cc tsan: minor refactoring 2013-10-10 16:03:24 +00:00
tsan_rtl_report.cc tsan: move shadow stack from thread descriptors to fixed addresses 2013-10-16 15:35:12 +00:00
tsan_rtl_thread.cc tsan: move shadow stack from thread descriptors to fixed addresses 2013-10-16 15:35:12 +00:00
tsan_stat.cc [sanitizer] Intercept getline, getdelim. 2013-10-31 01:17:41 +00:00
tsan_stat.h [sanitizer] Intercept getline, getdelim. 2013-10-31 01:17:41 +00:00
tsan_suppressions.cc tsan: ignore interceptors coming from specified libraries 2013-10-03 13:37:17 +00:00
tsan_suppressions.h tsan: ignore interceptors coming from specified libraries 2013-10-03 13:37:17 +00:00
tsan_symbolize.cc [Sanitizer] Add Symbolizer::AddHooks() and use it in TSan and MSan. 2013-10-31 21:44:07 +00:00
tsan_symbolize.h [Sanitizer] Add Symbolizer::AddHooks() and use it in TSan and MSan. 2013-10-31 21:44:07 +00:00
tsan_symbolize_addr2line_linux.cc tsan: use sanitizer::CommonFlags in tsan 2013-10-15 12:25:29 +00:00
tsan_sync.cc tsan: move shadow stack from thread descriptors to fixed addresses 2013-10-16 15:35:12 +00:00
tsan_sync.h tsan: use StackDepot in sync object to store creation stacks 2013-03-18 08:27:47 +00:00
tsan_trace.h tsan: move shadow stack from thread descriptors to fixed addresses 2013-10-16 15:35:12 +00:00
tsan_update_shadow_word_inl.h tsan: use memory access size for Go after all 2013-06-06 14:31:15 +00:00
tsan_vector.h tsan: intercept setjmp/longjmp 2013-03-25 10:10:44 +00:00