<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Sep 4, 2014 at 6:55 AM, Frederic Riss <span dir="ltr"><<a href="mailto:friss@apple.com" target="_blank">friss@apple.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi dblaikie, echristo, aprantl,<br>
<br>
This is the merge of 2 patches:<br>
<br>
Pass the DWARFUnit to DWARFDebugLine::getFileNameByIndex().<br>
<br>
This way it can query the compilation dir when it is referenced (when a file references directory index 0, it refers to the compilation dir).<br></blockquote><div><br></div><div>Alternatively (Though not necessarily better - open to opinions/preferences) DWARFUnit could have a wrapper for getFileNameByIndex and could be returned a zero/default/something that the DWARFUnit could detect and return the CU.<br>
<br>Or the DWARFDebugLine could be constructed with its unit, or just with the comp_dir of its unit so it didn't have to be passed in/queried for on every lookup?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br>
and:<br>
<br>
[dwarfdump] Implement extraction of file information referenced in .debug_info.<br>
<br>
This patch pretty prints the contents of the DW_AT_decl_file, DW_AT_call_file, DW_AT_decl_line and DW_AT_call line attributes.<br>
Drop the const on the passed DWARFUnit to be able to call getLineTableForUnit (the line table construction is lazy, thus the getter might modify the Unit).<br></blockquote><div><br></div><div>What pretty printing occurs for lines? (obviously for files this would allow you to print the file name rather than the file number - but DW_AT_decl/call_line already contain the line number, right?)</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<a href="http://reviews.llvm.org/D5192" target="_blank">http://reviews.llvm.org/D5192</a><br>
<br>
Files:<br>
  lib/DebugInfo/DWARFContext.cpp<br>
  lib/DebugInfo/DWARFDebugInfoEntry.cpp<br>
  lib/DebugInfo/DWARFDebugInfoEntry.h<br>
  lib/DebugInfo/DWARFDebugLine.cpp<br>
  lib/DebugInfo/DWARFDebugLine.h<br>
  test/DebugInfo/X86/2011-09-26-GlobalVarContext.ll<br>
  test/DebugInfo/X86/fission-cu.ll<br>
  test/DebugInfo/namespace.ll<br>
  test/MC/MachO/gen-dwarf.s<br>
</blockquote></div><br></div></div>