<div dir="ltr">Totally fair call, sorry it took me a while to come back around to this - added in r324702</div><br><div class="gmail_quote"><div dir="ltr">On Thu, Nov 16, 2017 at 3:47 PM Rafael Avila de Espindola <<a href="mailto:rafael.espindola@gmail.com">rafael.espindola@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">David Blaikie via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> writes:<br>
<br>
> On Thu, Nov 16, 2017 at 11:44 AM Robinson, Paul <<a href="mailto:paul.robinson@sony.com" target="_blank">paul.robinson@sony.com</a>><br>
> wrote:<br>
><br>
>> There's no requirement that DW_AT_ranges (or high/low_pc) appear on the<br>
>> skeleton CU rather than the DWO CU. So it's quite possible that to get the<br>
>> address ranges covered by the CU one would need to look in the DWO, I think?<br>
>><br>
>> Is that not correct/have I misunderstood something there?<br>
>><br>
>> The DWO isn't supposed to contain addresses (because it isn't supposed to<br>
>> contain relocations).  In DWARF 5 the DWO can have FORM_addrx references to<br>
>> the .debug_addr section in the main .o file, which allows the DWO to<br>
>> contain DIEs/attributes that should have address values, because the actual<br>
>> address values are still in the .o file; but before that anything that's an<br>
>> address really can't go into the DWO.<br>
>><br>
><br>
> DWOs didn't exist (in a standard form) before DWARF 5, right? Insofar as<br>
> they did exist (in a non-standard form) they have always supported<br>
> FORM_addr_index to reference addresses in .debug_addr in the main .o.<br>
><br>
> But the low_pc/high_pc/ranges attributes would appear in the .dwo, using a<br>
> FORM_addr_index/FORM_addrx - so if you want to collect the address range of<br>
> a CU you might need to load the .dwo to do so. That's the crux of what I<br>
> was getting at: To get the address range a CU covers, you may need to read<br>
> the .dwo.<br>
<br>
Is it possible to add a test for that? I can confirm that the attached<br>
patch causes not failures on llvm, clang or lld tests.<br>
<br>
Cheers,<br>
Rafael<br>
</blockquote></div>