Michael Lewis via llvm-dev
2016-Jul-26 18:52 UTC
[llvm-dev] Gauging interest in generating PDBs from LLVM-backed languages
On Tue, Jul 26, 2016 at 8:02 AM, Reid Kleckner <rnk at google.com> wrote:> We've been pursuing the direction of writing PDBs from scratch in > llvm/lib/DebugInfo/PDB/Raw and related directories. It might be interesting > to have code that talks to MSPDB140.dll in LLVM, but we really want LLD to > be able to produce its output on any platform. >I completely agree about independence from arbitrary platform-specific binaries. (After all, escaping LINK.EXE just to rely on MSPDB140.dll isn't that huge of a win by itself.) I forgot to mention it in my original mail, but my plan is to transition away from using MSPDB140.dll and fabricate "whole cloth" PDB/MSF files in the near future. Based on the microsoft-pdb GitHub repo and the code I've seen in LLVM, I think this is a totally reachable goal. Most of what I've found has little to do with the mechanics of the MSF format (yet!) and more to do with the semantic content of PDBs and how to coax the debuggers in question to yield the desired results. I don't know how much of that stuff is mysterious to the larger community and what was just mysterious to me when I set out on this little venture :-) But in any case I'd be glad to compare notes with anyone who's working in this space. - Mike -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160726/75b30b50/attachment.html>
Zachary Turner via llvm-dev
2016-Jul-26 19:30 UTC
[llvm-dev] Gauging interest in generating PDBs from LLVM-backed languages
I wrote most of the pdb code in llvm so far. As Reid suggested, if you look in DebugInfo/PDB/Raw there is a significant amount of code dealing with msf files and raw pdb streams. If you build the llvm-pdbdump tool you can run it with the "raw" subcommand to dump lots of low level info from the file. It's pretty complete for reading pdb files, and I'm actively working on expanding write support. Feel free to ask questions or even submit a patch if you see something you think could be better On Tue, Jul 26, 2016 at 11:52 AM Michael Lewis <don.apoch at gmail.com> wrote:> On Tue, Jul 26, 2016 at 8:02 AM, Reid Kleckner <rnk at google.com> wrote: > >> We've been pursuing the direction of writing PDBs from scratch in >> llvm/lib/DebugInfo/PDB/Raw and related directories. It might be interesting >> to have code that talks to MSPDB140.dll in LLVM, but we really want LLD to >> be able to produce its output on any platform. >> > > > > I completely agree about independence from arbitrary platform-specific > binaries. (After all, escaping LINK.EXE just to rely on MSPDB140.dll isn't > that huge of a win by itself.) > > I forgot to mention it in my original mail, but my plan is to transition > away from using MSPDB140.dll and fabricate "whole cloth" PDB/MSF files in > the near future. Based on the microsoft-pdb GitHub repo and the code I've > seen in LLVM, I think this is a totally reachable goal. > > Most of what I've found has little to do with the mechanics of the MSF > format (yet!) and more to do with the semantic content of PDBs and how to > coax the debuggers in question to yield the desired results. I don't know > how much of that stuff is mysterious to the larger community and what was > just mysterious to me when I set out on this little venture :-) > > But in any case I'd be glad to compare notes with anyone who's working in > this space. > > > > - Mike > > > > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160726/be07b690/attachment.html>
Michael Lewis via llvm-dev
2016-Jul-27 02:02 UTC
[llvm-dev] Gauging interest in generating PDBs from LLVM-backed languages
On Tue, Jul 26, 2016 at 12:30 PM, Zachary Turner <zturner at google.com> wrote:> I wrote most of the pdb code in llvm so far. As Reid suggested, if you > look in DebugInfo/PDB/Raw there is a significant amount of code dealing > with msf files and raw pdb streams. If you build the llvm-pdbdump tool you > can run it with the "raw" subcommand to dump lots of low level info from > the file. > > It's pretty complete for reading pdb files, and I'm actively working on > expanding write support.I'll check into that again. I ran across llvm-pdbdump earlier but couldn't get it to build on a vanilla 3.8 install (CMake is convinced I don't have the DIA SDK and I haven't found a way to change its mind). I stopped short of reading the code though so I wasn't aware of how much is actually there! Anyways, I'll pore over what's in trunk and see if there's anything I can contribute. Thanks for the pointer. - Mike -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160726/0e6bd3ee/attachment.html>