[llvm-dev] Emitting output file information in Debug Info Metadata

Adrian Prantl via llvm-dev llvm-dev at lists.llvm.org
Mon Aug 21 15:50:28 PDT 2017


> On Aug 21, 2017, at 3:17 PM, Zachary Turner <zturner at google.com> wrote:
> 
> Hi all,
> 
> In an effort to improve compatibility on the CodeView debug info side, we need to output a few new record types on the backend that don't seem to have the necessary info tracked by the debug info metadata.  Specifically:
> 
> 1) For each compile unit, we need to emit a record containing the output file name (e.g. foo.obj)

It would probably be best to add this as new field to DICompileUnit.

> 2) For each compile unit, we need to emit a record containing the full command line of the compiler invocation.

When enabled, the clang codegen option CGOpts::DwarfDebugFlags already adds the command line to the DICompileUnit.
> 
> AFAICT, none of this information is in the debug info metadata.  I've done a bunch of work on the backend of emitting debug info, but not so much on the front end.  Where would be a good place to get started for looking into this?

For (1) I would start by looking at the most recent patches that added new fields to DICompileUnit, such as the DebugInfoForProfiling flag.

-- adrian



More information about the llvm-dev mailing list