aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
diff options
context:
space:
mode:
authorMariusz Kwiczala <70530507+sfc-gh-mkwiczala@users.noreply.github.com>2025-05-13 17:27:05 +0200
committerGitHub <noreply@github.com>2025-05-13 08:27:05 -0700
commitf4b80b9109a65bd85f1f62d47cfc9f9395e1b5cc (patch)
tree45e4ffa450cb4ca580eb34d85e33345adf2c9af9 /llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
parent99f03096697625d14a536c5ac764ca530daa4008 (diff)
downloadllvm-f4b80b9109a65bd85f1f62d47cfc9f9395e1b5cc.zip
llvm-f4b80b9109a65bd85f1f62d47cfc9f9395e1b5cc.tar.gz
llvm-f4b80b9109a65bd85f1f62d47cfc9f9395e1b5cc.tar.bz2
LLVM symbolizer gsym support - attempt 2 (#139686)
Add support for gsym files to llvm-symbolizer. co-author @sfc-gh-sgiesecke Notes: There was a PR that was approved and merged: https://github.com/llvm/llvm-project/pull/134847 and reverted: https://github.com/llvm/llvm-project/pull/139660 Due to buildbot failures: https://lab.llvm.org/buildbot/#/builders/66/builds/13851 - it looks like related https://lab.llvm.org/buildbot/#/builders/51/builds/16018 - it looks like related https://lab.llvm.org/buildbot/#/builders/146/builds/2905 - it looks like it's not related to changes Fix: To fix missing GSYM symbols ``` + diff -u expected.new undefined.new +_ZN4llvm4gsym10GsymReader8openFileENS_9StringRefE U +_ZN4llvm4gsym10GsymReaderC1EOS1_ U +_ZN4llvm4gsym10GsymReaderD1Ev U +_ZN4llvm4gsym13GsymDIContextC1ENSt20__InternalSymbolizer10unique_ptrINS0_10GsymReaderENS2_14default_deleteIS4_EEEE U + echo 'Failed: unexpected symbols' ``` for script compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh LLVMDebugInfoGSYM was added. Please check the commit: https://github.com/llvm/llvm-project/pull/139686/commits/ba55425db9fd8fd1ebb06a4c8d8c95eef213444f That's the only change compare to https://github.com/llvm/llvm-project/pull/134847
Diffstat (limited to 'llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp')
-rw-r--r--llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp b/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
index 3ba7f59..b80f792 100644
--- a/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
+++ b/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
@@ -499,6 +499,8 @@ int llvm_symbolizer_main(int argc, char **argv, const llvm::ToolContext &) {
Opts.DWPName = Args.getLastArgValue(OPT_dwp_EQ).str();
Opts.FallbackDebugPath =
Args.getLastArgValue(OPT_fallback_debug_path_EQ).str();
+ Opts.GsymFileDirectory = Args.getAllArgValues(OPT_gsym_file_directory_EQ);
+ Opts.DisableGsym = Args.hasArg(OPT_disable_gsym);
Opts.PrintFunctions = decideHowToPrintFunctions(Args, IsAddr2Line);
parseIntArg(Args, OPT_print_source_context_lines_EQ,
Config.SourceContextLines);