aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
diff options
context:
space:
mode:
authorAmit Kumar Pandey <137622562+ampandey-1995@users.noreply.github.com>2024-08-05 13:38:34 +0530
committerGitHub <noreply@github.com>2024-08-05 13:38:34 +0530
commit0886440ef0ed0ad553522b731c841b81dc36944c (patch)
tree7193ad10f47b3768f28c1dd280d2a67c0fd128c9 /llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
parentfc83e97f6ebfdd67a3eda5fbff61190d92497ce9 (diff)
downloadllvm-0886440ef0ed0ad553522b731c841b81dc36944c.zip
llvm-0886440ef0ed0ad553522b731c841b81dc36944c.tar.gz
llvm-0886440ef0ed0ad553522b731c841b81dc36944c.tar.bz2
[Symbolizer] Support for Missing Line Numbers. (#82240)
LLVM Symbolizer attempt to symbolize addresses of optimized binaries reports missing line numbers for some cases. It maybe due to compiler which sometimes cannot map an instruction to line number due to optimizations. Symbolizer should handle those cases gracefully. Adding an option '--skip-line-zero' to symbolizer so as to report the nearest non-zero line number. --------- Co-authored-by: Amit Pandey <amit.pandey@amd.com>
Diffstat (limited to 'llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp')
-rw-r--r--llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp b/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
index 6d7953f..3e41a85 100644
--- a/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
+++ b/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
@@ -490,6 +490,7 @@ int llvm_symbolizer_main(int argc, char **argv, const llvm::ToolContext &) {
} else {
Opts.PathStyle = DILineInfoSpecifier::FileLineInfoKind::AbsoluteFilePath;
}
+ Opts.SkipLineZero = Args.hasArg(OPT_skip_line_zero);
Opts.DebugFileDirectory = Args.getAllArgValues(OPT_debug_file_directory_EQ);
Opts.DefaultArch = Args.getLastArgValue(OPT_default_arch_EQ).str();
Opts.Demangle = Args.hasFlag(OPT_demangle, OPT_no_demangle, !IsAddr2Line);