<div dir="ltr">Note that debug_addr support is already present for pre-DWARFv5 fission/split-dwarf support. I imagine the thing to do for DWARFv5 support is to generalize this for non-split-DWARF cases, etc.<br><br>Happy to help, code review, etc. This stuff as I've dabbled a fair bit with the original split DWARF support over the years. (though echristo originally implemented most of it)</div><br><div class="gmail_quote"><div dir="ltr">On Fri, Jul 13, 2018 at 7:39 AM Victor Leschuk via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello Paul,<br>
<br>
thanks a lot for the top. I will try to look into .debug_addr section <br>
and ask questions if any.<br>
<br>
<br>
On 07/12/2018 08:32 PM, <a href="mailto:paul.robinson@sony.com" target="_blank">paul.robinson@sony.com</a> wrote:<br>
> Hi Victor,<br>
><br>
> The work Wolfgang is doing should get us to the "minimum syntactically<br>
> correct DWARF v5" stage, which we really wanted to have for LLVM 7.0.<br>
> That is, once we have .debug_rnglists and .debug_loclists done, you can<br>
> ask for DWARF 5 and get something that conforms to the spec. However,<br>
> it won't conform if you ask for type units (I'm working on that) or<br>
> split DWARF.<br>
><br>
> If your motivation is to help reduce the number of relocations needed,<br>
> then working on the .debug_addr section is definitely the next step.<br>
> This will reduce relocations in pretty much every other DWARF section.<br>
><br>
> If you have other goals, let us know what they are.<br>
> Thanks,<br>
> --paulr<br>
><br>
><br>
>> -----Original Message-----<br>
>> From: llvm-dev [mailto:<a href="mailto:llvm-dev-bounces@lists.llvm.org" target="_blank">llvm-dev-bounces@lists.llvm.org</a>] On Behalf Of via<br>
>> llvm-dev<br>
>> Sent: Thursday, July 12, 2018 1:08 PM<br>
>> To: <a href="mailto:vleschuk@accesssoftek.com" target="_blank">vleschuk@accesssoftek.com</a>; <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
>> Subject: Re: [llvm-dev] debug_rnglists status<br>
>><br>
>> Hi Victor!<br>
>><br>
>> I am just about to commit <a href="https://reviews.llvm.org/D49214" rel="noreferrer" target="_blank">https://reviews.llvm.org/D49214</a>, the first<br>
>> implementation of .debug_rnglists. As you can probably see from the review<br>
>> it generates the v5 range list table with range list entries using<br>
>> primarily the DW_RLE_start_length and DW_RLE_offset_pair entry kinds (and<br>
>> DW_RLE_end_of_list and DW_RLE_base_address). So what is currently missing<br>
>> is the following:<br>
>><br>
>> - Support for split DWARF. I think this requires first support for<br>
>> .debug_addr, because we need to generate at least DW_RLE_base_addressx<br>
>> entries (or the CU needs to set its DW_AT_low_pc referencing the<br>
>> .debug_addr section). If that's in place we can generate all the *x entry<br>
>> kinds (DW_RLE_startx_endx etc.)<br>
>><br>
>> - Generating the offset table and using DW_FORM_rnglistx with the<br>
>> DW_AT_ranges attribute. This should cut down further on the relocations<br>
>> the linker needs to perform.<br>
>><br>
>> Also, I am currently working on a refactor of the .debug_rnglists dumper<br>
>> (reader) part. The rationale is that the location list table in<br>
>> .debug_loclists is identical in layout to the range list table, and so I<br>
>> want to take advantage of that.<br>
>><br>
>> Let me know if you have any more questions.<br>
>><br>
>> Cheers,<br>
>> Wolfgang<br>
>><br>
>>> -----Original Message-----<br>
>>> From: Victor Leschuk [mailto:<a href="mailto:vleschuk@accesssoftek.com" target="_blank">vleschuk@accesssoftek.com</a>]<br>
>>> Sent: Thursday, July 12, 2018 2:24 AM<br>
>>> To: Pieb, Wolfgang; LLVM Dev<br>
>>> Cc: <a href="mailto:aprantl@apple.com" target="_blank">aprantl@apple.com</a>; David Blaikie<br>
>>> Subject: debug_rnglists status<br>
>>><br>
>>> Hello Wolfgang and team,<br>
>>><br>
>>> I see that you are working on support of .debug_rnglists, I am<br>
>>> interested in the feature too, could you please point me out what else<br>
>>> left to be done so that I could help you?<br>
>>><br>
>>> --<br>
>>> Best Regards,<br>
>>><br>
>>> Victor Leschuk | Software Engineer | Access Softek<br>
>>><br>
>> _______________________________________________<br>
>> LLVM Developers mailing list<br>
>> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
>> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
<br>
-- <br>
Best Regards,<br>
<br>
Victor Leschuk | Software Engineer | Access Softek<br>
<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>