<div dir="ltr">The compiler is responsible for emitting codeview records into the .debug$S (symbol) and .debug$T (type) object file sections. You can run `llvm-readobj -codeview` or `llvm-pdbutil dump` on object files produced by cl or clang-cl to get an idea of the kinds of records you need to output. Take a look at cvinfo.h for reference on the on-disk format: <a href="https://github.com/Microsoft/microsoft-pdb/blob/master/include/cvinfo.h">https://github.com/Microsoft/microsoft-pdb/blob/master/include/cvinfo.h</a></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Oct 30, 2017 at 8:46 PM, Meena Jain via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dear Matt,<br>
<br>
Thank you so much for providing me these details.<br>
<br>
These seems to be very helpful and enough to start with.<br>
<br>
Between, I have a query in general,<br>
<br>
I read somewhere that Microsoft linker generates the PDB file.<br>
<br>
We have a proprietary compiler which generates windows compatible object code. We are using Microsoft linker only to generate the executable. Though we are able to generate PDB file using the linker /debug option but since it does not contain source information, we are not able to do the source level debugging. However, we are able to do assembly level debugging.<br>
<br>
My doubt is, what role compiler plays which helps Microsoft linker to generate the PDB file with source level debugging information.<br>
<br>
Thanks and Regards<br>
<span class="HOEnZb"><font color="#888888">Meena<br>
</font></span><span class="im HOEnZb"><br>
<br>
-----Original Message-----<br>
From: llvm-dev [mailto:<a href="mailto:llvm-dev-bounces@lists.llvm.org">llvm-dev-bounces@<wbr>lists.llvm.org</a>] On Behalf Of Matt P. Dziubinski via llvm-dev<br>
Sent: Tuesday, October 31, 2017 5:44 AM<br>
To: <a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
Subject: Re: [llvm-dev] LLVM PDB Support<br>
<br>
</span><div class="HOEnZb"><div class="h5">Hi Meena,<br>
<br>
On 10/30/2017 08:03, Meena Jain via llvm-dev wrote:<br>
 > I am trying to understand the Microsoft PDB format and I heard that LLVM provides support to Microsoft PDB file format.<br>
 > It would be great if you can provide some pointers regarding the same to start with.<br>
<br>
I've made my resources on these topics publicly available -- perhaps they can be of some use or help:<br>
<br>
Executable and object file formats (ELF, Mach-O, PE: EXE & DLL); debugging data formats (DWARF, PDB): articles, documentation, software, and talks.<br>
<a href="https://github.com/MattPD/cpplinks/blob/master/executables.md" rel="noreferrer" target="_blank">https://github.com/MattPD/<wbr>cpplinks/blob/master/<wbr>executables.md</a><br>
<br>
In particular, here's the section on PDB:<br>
<a href="https://github.com/MattPD/cpplinks/blob/master/executables.md#pdb-program-database" rel="noreferrer" target="_blank">https://github.com/MattPD/<wbr>cpplinks/blob/master/<wbr>executables.md#pdb-program-<wbr>database</a><br>
<br>
Best regards,<br>
<br>
Matt<br>
<br>
______________________________<wbr>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
<br>
<br>
</div></div><span class="im HOEnZb">::DISCLAIMER::<br>
------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------<br>
<br>
The contents of this e-mail and any attachment(s) are confidential and intended for the named recipient(s) only.<br>
E-mail transmission is not guaranteed to be secure or error-free as information could be intercepted, corrupted,<br>
lost, destroyed, arrive late or incomplete, or may contain viruses in transmission. The e mail and its contents<br>
(with or without referred errors) shall therefore not attach any liability on the originator or HCL or its affiliates.<br>
Views or opinions, if any, presented in this email are solely those of the author and may not necessarily reflect the<br>
views or opinions of HCL or its affiliates. Any form of reproduction, dissemination, copying, disclosure, modification,<br>
distribution and / or publication of this message without the prior written consent of authorized representative of<br>
HCL is strictly prohibited. If you have received this email in error please delete it and notify the sender immediately.<br>
Before opening any email and/or attachments, please check them for viruses and other defects.<br>
<br>
------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------<br>
</span><div class="HOEnZb"><div class="h5">______________________________<wbr>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
</div></div></blockquote></div><br></div>