[compiler-rt] 5a94981 - [Sanitizers] Remove BuildId from sanitizers stacktrace on Darwin
usama hameed via llvm-commits
llvm-commits at lists.llvm.org
Wed Jun 7 11:28:54 PDT 2023
Author: usama hameed
Date: 2023-06-07T11:17:25-07:00
New Revision: 5a9498124d5ed43cdde56eba8ccc8e82148dff40
URL: https://github.com/llvm/llvm-project/commit/5a9498124d5ed43cdde56eba8ccc8e82148dff40
DIFF: https://github.com/llvm/llvm-project/commit/5a9498124d5ed43cdde56eba8ccc8e82148dff40.diff
LOG: [Sanitizers] Remove BuildId from sanitizers stacktrace on Darwin
On Darwin, we do not want to show the BuildId appended at the end of stack
frames in Sanitizers. The BuildId/UUID can be seen by using the
print_module_map=1 sanitizer option.
Differential Revision: https://reviews.llvm.org/D150298
rdar://108324403
Added:
Modified:
compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp
compiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_printer_test.cpp
Removed:
################################################################################
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp
index 1096d21fb47f4..f6e1edc102968 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp
@@ -218,7 +218,9 @@ void RenderFrame(InternalScopedString *buffer, const char *format, int frame_no,
RenderModuleLocation(buffer, info->module, info->module_offset,
info->module_arch, strip_path_prefix);
+#if !SANITIZER_APPLE
MaybeBuildIdToBuffer(*info, /*PrefixSpace=*/true, buffer);
+#endif
} else {
buffer->append("(<unknown module>)");
}
@@ -231,7 +233,9 @@ void RenderFrame(InternalScopedString *buffer, const char *format, int frame_no,
// Always strip the module name for %M.
RenderModuleLocation(buffer, StripModuleName(info->module),
info->module_offset, info->module_arch, "");
+#if !SANITIZER_APPLE
MaybeBuildIdToBuffer(*info, /*PrefixSpace=*/true, buffer);
+#endif
} else {
buffer->append("(%p)", (void *)address);
}
diff --git a/compiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_printer_test.cpp b/compiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_printer_test.cpp
index 62b34cd78aba8..489ef4dbb5b7d 100644
--- a/compiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_printer_test.cpp
+++ b/compiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_printer_test.cpp
@@ -137,11 +137,19 @@ TEST(SanitizerStacktracePrinter, RenderFrame) {
RenderFrame(&str, "%M", frame_no, info.address, &info, false);
EXPECT_NE(nullptr, internal_strstr(str.data(), "(module+0x"));
EXPECT_NE(nullptr, internal_strstr(str.data(), "200"));
+#if SANITIZER_APPLE
+ EXPECT_EQ(nullptr, internal_strstr(str.data(), "BuildId: 5566"));
+#else
EXPECT_NE(nullptr, internal_strstr(str.data(), "BuildId: 5566"));
+#endif
str.clear();
RenderFrame(&str, "%L", frame_no, info.address, &info, false);
+#if SANITIZER_APPLE
+ EXPECT_STREQ("(/path/to/module+0x200)", str.data());
+#else
EXPECT_STREQ("(/path/to/module+0x200) (BuildId: 5566)", str.data());
+#endif
str.clear();
RenderFrame(&str, "%b", frame_no, info.address, &info, false);
More information about the llvm-commits
mailing list