[PATCH] Refactor llvm-symbolizer to support using PDB instead of DWARF.

Alexey Samsonov vonosmas at gmail.com
Mon Apr 20 17:55:21 PDT 2015


Nit: could you upload a patch to Phabricator in a way that would save the context (http://llvm.org/docs/Phabricator.html)?

Now, I don't really like introducing this hierarchy in tools/llvm-symbolizer. IMO we should keep the tool code straightforward, and instead add the functionality to the library (lib/DebugInfo), so that anyone can use format-agnostic symbolization-as-a-library. Now, I admit that I've missed the discussion and patches that added lib/DebugInfo/PDB and include/llvm/DebugInfo/PDB, so let me know if I'm revising some stuff discussed long ago. Specifically,

adding SymbolizedLineInfo and SymbolizedLineInfoPDB doesn't look right. llvm::DILineInfo was already supposed to be "format-neutral container for source line information", and now
it's moved under DebugInfo/DWARF. Can we move it back to include/llvm/DebugInfo folder, and use both in DWARF and PDB debug info parsers? Same holds for DINameKind - it certainly should not be a DWARF-specific enum.

Same holds for DIContext - it would be nice to use that instead of introducing SymbolizationContext. We might have to change the layering of libraries - either introduce the library with code for DILineInfo/DIInliningInfo/DIContext used by DWARF and PDB readers, or merge DebugInfoDWARF and DebugInfoPDB into one fat library.


http://reviews.llvm.org/D9111

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list