David Majnemer
2015-Jul-07 04:49 UTC
[LLVMdev] Column information for the CodeView debug info format
Hello, LLVM currently supports emission of CodeView's line table subsection. However, we'd like to increase the fidelity of this debug info with column information. I was wondering if anybody had any pointers as to how CodeView represents such information. Thanks! -- David Majnemer -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150706/6cdf08b1/attachment.html>
Dave Bartolomeo
2015-Jul-08 17:54 UTC
[LLVMdev] Column information for the CodeView debug info format
The line number section you already emit looks like: (0..3) SECREL relocation to function (4..5) Section index of function (6..7) Padding (8..11) Code Size The “Padding” field is actually a flags field, with one flag defined: bit 0 of that field should be set if there is column info in this line number subsection. The actual column info is emitted as part of the same chunks that contain the line numbers for a given file name. Each chunk looks like: (0..3) Offset of file in the file name table (4..7) Count of line numbers (n) (8..11) Size of chunk (12..12+8*n) Line number records (12+8*n..12+8*n+4*n) Column records (if column info flag was set) Each column info record looks like: (0..1) Start Column (2..3) End Column Note that the chunk includes all of the line number records before any of the column records. -Dave From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of David Majnemer Sent: Monday, July 6, 2015 9:49 PM To: llvmdev at cs.uiuc.edu Cc: Jim Radigan <jradigan at microsoft.com> Subject: [LLVMdev] Column information for the CodeView debug info format Hello, LLVM currently supports emission of CodeView's line table subsection. However, we'd like to increase the fidelity of this debug info with column information. I was wondering if anybody had any pointers as to how CodeView represents such information. Thanks! -- David Majnemer -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150708/bfeecf3f/attachment.html>
David Majnemer
2015-Jul-11 00:03 UTC
[LLVMdev] Column information for the CodeView debug info format
On Wed, Jul 8, 2015 at 10:54 AM, Dave Bartolomeo < Dave.Bartolomeo at microsoft.com> wrote:> The line number section you already emit looks like: > > > > (0..3) SECREL relocation to function > > (4..5) Section index of function > > (6..7) Padding > > (8..11) Code Size > > > > The “Padding” field is actually a flags field, with one flag defined: bit > 0 of that field should be set if there is column info in this line number > subsection. > > > > The actual column info is emitted as part of the same chunks that contain > the line numbers for a given file name. Each chunk looks like: > > (0..3) Offset of file in the file name table > > (4..7) Count of line numbers (n) > > (8..11) Size of chunk > > (12..12+8*n) Line number records > > (12+8*n..12+8*n+4*n) Column records (if column info flag was set) > > > > Each column info record looks like: > > (0..1) Start Column > > (2..3) End Column > > > > Note that the chunk includes all of the line number records before any of > the column records. >Thanks! Should be implemented in r241764.> > > -Dave > > > > *From:* llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] *On > Behalf Of *David Majnemer > *Sent:* Monday, July 6, 2015 9:49 PM > *To:* llvmdev at cs.uiuc.edu > *Cc:* Jim Radigan <jradigan at microsoft.com> > *Subject:* [LLVMdev] Column information for the CodeView debug info format > > > > Hello, > > > > LLVM currently supports emission of CodeView's line table subsection. > However, we'd like to increase the fidelity of this debug info with column > information. I was wondering if anybody had any pointers as to how > CodeView represents such information. > > > > Thanks! > > > > -- > > David Majnemer >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150710/ce347ff4/attachment.html>