[LLVMdev] [patch] Dwarf Debug info support for COFF object files

Devang Patel dpatel at apple.com
Thu Feb 24 11:36:36 PST 2011


On Feb 12, 2011, at 2:07 AM, Nathan Jeffords wrote:

> 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

This patches look fine. I am curious, how are you testing debug info support for COFF ?


-
Devang





More information about the llvm-dev mailing list