This patch add a new sanitizer flag, print_module_map, which enables printing a module map when the process exits, or after each report (for TSan). The output format is very similar to what Crash Reporter produces on Darwin (e.g. the format of module UUIDs). This enables users to use the existing symbol servers to offline symbolicate and aggregate reports.
Details
Details
- Reviewers
kcc glider filcab dvyukov eugenis zaks.anna - Commits
- rGb6c6eaf22624: [sanitizer] Add a 'print_module_map' flag which prints modules with UUIDs on…
rCRT291277: [sanitizer] Add a 'print_module_map' flag which prints modules with UUIDs on…
rL291277: [sanitizer] Add a 'print_module_map' flag which prints modules with UUIDs on…
Diff Detail
Diff Detail
Event Timeline
Comment Actions
Updating patch, addressing review comments.
Is it that valuable that we print after every report?
It is for TSan, where we just keep the process running and reporting issues. If the user kills the process abnormally, he would never see the UUID list under print_module_map=1.
Comment Actions
FYI, produces the following warning when compiled with gcc with some stricter options:
[...]/llvm/projects/compiler-rt/lib/sanitizer_common/sanitizer_common.h: In function ‘const char* __sanitizer::ModuleArchToString(__sanitizer::ModuleArch)’: [...]/llvm/projects/compiler-rt/lib/sanitizer_common/sanitizer_common.h:693:1: warning: control reaches end of non-void function [-Wreturn-type] }
You're not honouring the 2 value under ASan.