[LLVMdev] [patch] Dwarf Debug info support for COFF object files
Nathan Jeffords
blunted2night at gmail.com
Sat Feb 12 02:07:25 PST 2011
Hello All,
I have created a set of patches that get dwarf debugging support working for
the COFF object file. I also believe I have fixed what appears to be a bug
in how line info sections are referred to from the DW_TAG_compile_unit DIE.
I have run some basic tests, analyzed dumps of both the objects files and
the final executables, and run a test program against mingw-gdb and
everything looks to be in order.
Here is a short description of what the patches accomplish
die.patch:
adds a new DIEValue type to represent a section relative label. (their was
already a type id specified so I provided a class modeled after DIELabel)
secrel-fixup.patch:
creats a new target specific fixup type (reloc_coff_secrel32) to represent
COFF Section Relative relocations and updats the COFF object writer to write
it as COFF_IMAGE_REL_AMD64_SREL32
secrel-streamer.patch
adds a new directive in the MCStreamer interface to allow the AsmPrinter
to emit a section relative label and provides implementations for all
existings Streamer (all but WinCOFF either forward or error on it)
secrel-dwarf.patch
updates dwarf printing code to make use of the new directive & DIE value
where appropriate (this is where the bug fix is)
coff-debug.patch
turns the dwarf output on in the X86/COFF AsmInfo classes
- Nathan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110212/19580f05/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: die.patch
Type: application/octet-stream
Size: 2387 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110212/19580f05/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: secrel-fixup.patch
Type: application/octet-stream
Size: 2124 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110212/19580f05/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: secrel-streamer.patch
Type: application/octet-stream
Size: 6293 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110212/19580f05/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: secrel-dwarf.patch
Type: application/octet-stream
Size: 2350 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110212/19580f05/attachment-0003.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: coff-debug.patch
Type: application/octet-stream
Size: 822 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110212/19580f05/attachment-0004.obj>
More information about the llvm-dev
mailing list