[llvm-dev] Gauging interest in generating PDBs from LLVM-backed languages

Reid Kleckner via llvm-dev llvm-dev at lists.llvm.org
Tue Jul 26 08:02:23 PDT 2016


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.

On Sun, Jul 24, 2016 at 9:18 PM, Michael Lewis via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> Hi all,
>
> I've recently been doing some work on a novel language that uses LLVM for
> optimization and machine codegen. The language is self-hosted, I'm building
> my third iteration of its garbage collector, and also writing a thin IDE to
> stretch the language a bit. Needless to say, debugging is a major concern
> for me.
>
> My primary experience (and primary development focus) is Windows-centric,
> so my go-to debuggers are Visual Studio and WinDbg. I know of the lldb/VS
> integration efforts, and of course with appropriate setup I could also
> leverage gdb (IIRC). But these aren't quite what I was looking for,
> personally.
>
> Long story short I set out to build a PDB emitter that could generate
> debug information for my language based on the existing CodeView emission
> support as of LLVM 3.8. I'm happy to report success as of this afternoon.
> More details about the effort and its status can be found at [0].
>
>
> The high-level overview of my strategy is to crack the CodeView blob from
> LLVM (.data$S COFF section) and reassemble it, plus some augmentation, then
> feed that to the API exposed by MSPDB140.dll (Visual Studio 2015's
> version). This works and I can debug programs in both VS and WinDbg
> assuming the front-end supplies sane metadata to the LLVM layer.
>
>
> My question to the list - is this work valuable for anyone else? Would
> there be general interest in documentation or even example code that
> assembles what I've learned throughout this effort?
>
>
> Thanks,
>
>
>
>  - Mike
>
>
> [0] -
> https://github.com/apoch/epoch-language/wiki/Knowledge-Dump---Debugging-Epoch-Programs
>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160726/66cbc1ed/attachment.html>


More information about the llvm-dev mailing list