llvm-project/compiler-rt/lib
Alexey Samsonov 3931dca7ec [TSan] Keep original function and filename in ReportStack.
TSan used to do the following transformations with data obtained
from the symbolizer:
1) Strip "__interceptor_" prefix from function name.
2) Use "strip_path_prefix" runtime flag to strip filepath.

Now these transformations are performed right before the stack trace
is printed, and ReportStack structure contains original information.

This seems like a right thing to do - stripping is a detail of report
formatting implementation, and should belong there. We should, for
example, use original path to source file when we apply suppressions.

This change also make "strip_path_prefix" flag behavior in TSan
consistent with all the other sanitizers - now it should actually
match *the prefix* of path, not some substring. E.g. earlier TSan
would turn "/usr/lib/libfoo.so" into "libfoo.so" even if strip_path_prefix
was "/lib/".

Finally, strings obtained from symbolizer come from internal allocator,
and "stripping" them early by incrementing a "char*" ensures they can
never be properly deallocated, which is a bug.

llvm-svn: 221283
2014-11-04 18:41:38 +00:00
..
BlocksRuntime Move tests for BlocksRuntime and builtins to corresponding directories under test/ 2014-02-14 09:47:31 +00:00
asan Use @rpath as LC_ID_DYLIB for ASan dylib on OS X 2014-11-04 17:34:50 +00:00
builtins builtins: avoid endian.h in favour of compiler builtins 2014-10-25 20:54:51 +00:00
dfsan Update __dfsw_s{,n}printf custom functions for new calling convention. 2014-10-30 13:23:01 +00:00
interception [sanitizer] Android build cleanup. 2014-09-29 13:18:55 +00:00
lsan Change StackDepot interface to use StackTrace more extensively 2014-10-26 06:23:07 +00:00
msan [Sanitizer] Return code that calculates hash for stacktrace back to StackDepot implementation 2014-10-27 03:10:27 +00:00
msandr [msandr] Access app TLS directly in native exec mode. 2014-01-20 13:09:29 +00:00
profile profile: Avoid name collisions between instrumentation and runtime 2014-09-04 15:45:31 +00:00
sanitizer_common [TSan] Use StackTrace from sanitizer_common where applicable 2014-11-03 22:23:44 +00:00
tsan [TSan] Keep original function and filename in ReportStack. 2014-11-04 18:41:38 +00:00
ubsan [Sanitizer] Make StackTrace a lightweight reference to array of PCs, and 2014-10-26 03:35:14 +00:00
CMakeLists.txt Fix build on some architectures caused by r215247. 2014-08-11 19:57:56 +00:00
Makefile.mk Move original compiler-rt functions (libgcc replacement) to lib/builtins directory 2014-02-14 09:20:33 +00:00