<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 9, 2014 at 5:53 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, samsonov, echristo, aprantl,<br>
<br>
There is no simple way to get the origin section of a DWARFUnit. It is necessary<br>
to know from which section a Unit has been extracted to be able to resolve<br>
cross-unit references (to find the right list to search fo the reference<br>
target).<br></blockquote><div><br></div><div>Would it make more sense to give it the actual section (or some kind of alias/handle to it) rather than a flag? That way it'd work for fission (split-dwarf) as well, and type units that may be in comdat sections?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
This patch adds a field and an accessor to the DWARFUnit that indicates where<br>
it originated from. This information will be used in a subsequent patch to<br>
implement a generic version of DWARFContext::getCompilationUnitForOffset()<br>
that will work with arbitrary unit types.<br>
<br>
Note that this is nearly implemented like the start of LLVM-style RTTI for<br>
the DWARFUnit, but it seems that we don't need separate classes to represent<br>
the DWO variants of Units as only their origin changes. Thus we only<br>
introduce this discriminant field.<br>
<br>
<a href="http://reviews.llvm.org/D5264" target="_blank">http://reviews.llvm.org/D5264</a><br>
<br>
Files:<br>
  lib/DebugInfo/DWARFCompileUnit.h<br>
  lib/DebugInfo/DWARFContext.cpp<br>
  lib/DebugInfo/DWARFTypeUnit.h<br>
  lib/DebugInfo/DWARFUnit.cpp<br>
  lib/DebugInfo/DWARFUnit.h<br>
</blockquote></div><br></div></div>