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

Zachary Turner zturner at google.com
Mon Apr 20 09:30:50 PDT 2015


Hi samsonov,

In order to make llvm-symbolizer work on Windows, a first step is to remove the assumption that DebugInfo will be in DWARF format.  In theory this is simple, because there are only about 2 places where llvm-symbolizer actually queries the DWARF.  In practice abstracting this away turned out to be a bit of a large refactor.  Basically instead of storing DIContext directly we introduce abstract classes `SymbolizationContext`, `SymbolizedLineInfo`, and `SymbolizedInliningInfo`.  Concrete implementations of each of these are provided for the DWARF case as well as the PDB case.  The PDB cases are not filled out yet, I planned to do that in a separate CL to keep this from getting too big.

http://reviews.llvm.org/D9111

Files:
  include/llvm/DebugInfo/DWARF/DIContext.h
  tools/llvm-symbolizer/CMakeLists.txt
  tools/llvm-symbolizer/LLVMSymbolize.cpp
  tools/llvm-symbolizer/LLVMSymbolize.h
  tools/llvm-symbolizer/SymbolizationContext.h
  tools/llvm-symbolizer/SymbolizationContextDWARF.cpp
  tools/llvm-symbolizer/SymbolizationContextDWARF.h
  tools/llvm-symbolizer/SymbolizationContextPDB.cpp
  tools/llvm-symbolizer/SymbolizationContextPDB.h
  tools/llvm-symbolizer/SymbolizerOptions.h
  tools/llvm-symbolizer/llvm-symbolizer.cpp

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D9111.24025.patch
Type: text/x-patch
Size: 31619 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150420/4a3026db/attachment.bin>


More information about the llvm-commits mailing list