[LLVMdev] Adding PDB support to lib\DebugInfo (original) (raw)

Dennis Luehring dl.soluz at gmx.net
Thu Jan 29 10:53:12 PST 2015


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



More information about the llvm-dev mailing list