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

Zachary Turner zturner at google.com
Mon Apr 20 18:11:18 PDT 2015


There had been significant discussion about producing a Format agnostic
debug info interface, but we all kind of decided that it would be
impossible in the general case, or at the very least extremely difficult.
Most situations don't require consuming both types of debug info so we
decided it would be best to defer this kind of abstraction to the places
that needed it.

We might be able to move a few specific utility classes to a common level,
but I don't think it would work in the general case.

The context, session information, way that you make queries against the
debug info are fundamentally different.
On Mon, Apr 20, 2015 at 5:55 PM Alexey Samsonov <vonosmas at gmail.com> wrote:

> 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/
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150421/421e0176/attachment.html>


More information about the llvm-commits mailing list