[LLVMdev] Adding PDB support to lib\DebugInfo

Zachary Turner zturner at google.com
Thu Jan 29 11:05:46 PST 2015


If you mean just the interface, then yes I can an effort to make sure the
interface doesn't expose anything Windows-specific.  This particular
implementation will obviously need to use Windows specific things though.

On Thu Jan 29 2015 at 11:00:38 AM Dennis Luehring <dl.soluz at gmx.net> wrote:

> >The pdb reading code relies *very heavily* on Windows APIs
>
> can you make shure not to have any windows api stuff in the pdb-reader
> interface
> so its easy to - if someone wants to - implement an windows-api
> independent version (support reading under linux etc.)
> because the pdb format needs to be analysed anyway for writing pdb
> information on compile/link (in the future)
>
>
> Am 29.01.2015 um 19:20 schrieb Zachary Turner:
> > I've been working on adding pdb reading support to llvm.  This started
> as a
> > tool for dumping info from a pdb (similar to llvm-dwarfdump), which has
> > been checked in and currently has limited support for dumping pdb.
> >
> > There's still more to be done on the pdb dumping tool, but at this point
> --
> > to reduce duplicated effort -- I think it makes the most sense to start
> > moving some of this logic into a library in llvm, and then change
> > llvm-pdbdump to use the library.  Later, once the library is more
> > comprehensive, I plan to then use it in LLDB for reading PDBs while
> > debugging on Windows.
> >
> > I think the best way to do this is to move all of the code in
> lib/DebugInfo
> > to lib/DebugInfo/dwarf, and then make another folder called
> > lib/DebugInfo/pdb.   These would then be compiled into two separate
> > libraries.
> >
> > Another approach is to just put the PDB code in the same folder as the
> > dwarf code, but I don't like this approach for a number of reasons:
> >
> > 1) Not every consumer of DebugInfo wants both types of DebugInfo.
> > 2) The pdb reading code relies *very heavily* on Windows APIs, and will
> not
> > compile on other platforms.  This is solvable with some CMake machinery,
> > but it's ugly and unwarranted in my opinion.
> >
> > So as a first step in this direction I'd like to propose moving the code
> in
> > lib/DebugInfo to lib/DebugInfo/dwarf, and then updating the rest of llvm
> > accordingly.
> >
> > Thoughts?  Comments?  Suggestions?
> > Zach
> >
> >
> >
> > _______________________________________________
> > LLVM Developers mailing list
> > LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150129/fc5e87e7/attachment.html>


More information about the llvm-dev mailing list