forked from OSchip/llvm-project
3931dca7ec
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 |
||
---|---|---|
.. | ||
BlocksRuntime | ||
asan | ||
builtins | ||
dfsan | ||
interception | ||
lsan | ||
msan | ||
msandr | ||
profile | ||
sanitizer_common | ||
tsan | ||
ubsan | ||
CMakeLists.txt | ||
Makefile.mk |