https://gcc.gnu.org/g:4d2cd304714fddc8a995fc0311090fce7e70c122
commit r15-5166-g4d2cd304714fddc8a995fc0311090fce7e70c122 Author: Kito Cheng <kito.ch...@sifive.com> Date: Wed Nov 6 17:35:46 2024 +0800 libsanitizer: Improve FrameIsInternal `FrameIsInternal` is a function that improves report quality by filtering out internal functions from the sanitizer, allowing it to point to a more precise root cause. However, the current checks are mostly specific to compiler-rt, so we are adding a few more rules to enhance the filtering for libsanitizer as well. Diff: --- libsanitizer/sanitizer_common/sanitizer_symbolizer_report.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libsanitizer/sanitizer_common/sanitizer_symbolizer_report.cpp b/libsanitizer/sanitizer_common/sanitizer_symbolizer_report.cpp index 351e00db6fb2..80ae31e938ae 100644 --- a/libsanitizer/sanitizer_common/sanitizer_symbolizer_report.cpp +++ b/libsanitizer/sanitizer_common/sanitizer_symbolizer_report.cpp @@ -41,10 +41,18 @@ static bool FrameIsInternal(const SymbolizedStack *frame) { return true; if (file && internal_strstr(file, "\\compiler-rt\\lib\\")) return true; + if (file && internal_strstr(file, "\\libsanitizer\\")) + return true; if (module && (internal_strstr(module, "libclang_rt."))) return true; if (module && (internal_strstr(module, "clang_rt."))) return true; + if (module && (internal_strstr(module, "libtsan.") + || internal_strstr(module, "libhwasan.") + || internal_strstr(module, "liblsan.") + || internal_strstr(module, "libasan.") + || internal_strstr(module, "libubsan."))) + return true; return false; }