Fuchsia doesn't support built-in symbolization per se at all.
Instead, it always emits a Fuchsia-standard "symbolizer markup"
format that makes it possible for a post-processing filter to
massage the logs into symbolized format. Hence, it does not
support user-specified formatting options for backtraces or other
symbolization.
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
lib/sanitizer_common/sanitizer_stacktrace_printer.cc | ||
---|---|---|
128 | How about having implementation of RenderFrame and RenderData in sanitizer_symbolizer_fuchsia.cc? #if !FUCHSIA const AddressInfo &info, bool vs_style, const char *strip_path_prefix, const char *strip_func_prefix) { ... } void RenderData(InternalScopedString *buffer, const char *format, |
lib/sanitizer_common/sanitizer_stacktrace_printer.cc | ||
---|---|---|
20 | You really prefer few comments??? | |
lib/sanitizer_common/sanitizer_symbolizer_fuchsia.cc | ||
33 | constexpr is correct for this use. The compiler should know that it's just a vanilla string constant and doesn't need to be an independent link-time object. | |
48 | Because then GetOrInit would be the only thing from sanitizer_symbolizer_libcdep.cc actually used and it's cleaner to #if out the entire file. |
lib/sanitizer_common/sanitizer_symbolizer_fuchsia.cc | ||
---|---|---|
48 | Please do move GetOrInit to sanitizer_symbolizer.cc and implement PlatformInit and exclude sanitizer_symbolizer_libcdep.cc from Fuchsia build, that #if-ing the entire file is ugly. |
lib/sanitizer_common/sanitizer_symbolizer_fuchsia.cc | ||
---|---|---|
48 | I've moved GetOrInit and implemented PlatformInit. I didn't change to cmake conditionalization instead of #if around the whole file because that would be inconsistent with the rest of the source code, which uses #if around the whole file for other cases like this one. |
I've moved GetOrInit and implemented PlatformInit.
This is rebased and ready to land after D36031 lands.
Please land it for me!
Thanks,
Roland
ninja check-sanitizer
fails Sanitizer-x86_64-Test-Nolibc test
llvm/projects/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.cc:27: error: undefined reference to '__sanitizer::Symbolizer::PlatformInit()'
Moved GetOrInit back to sanitizer_symbolizer_libcdep.cc, hoisted up out of #if !SANITIZER_FUCHSIA.
I don't think this comment is necessary