[PATCH] D36300: WIP: DebugInfo: Use base address and offset pairs in debug_loc.dwo to reduce required relocations

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 25 15:28:48 PDT 2018


Well... guess I don't learn from the past sometimes.

I reimplemented this a slightly different way (patch attached) only to
learn, again, that GDB doesn't support this... which makes me sad.

Sent email to the gdb development list because weirdly the DWARFv5 support
in GDB currently seems to /only/ support the base+offset_pair form -
strangely mutually exclusive. Would be great to have more full support in
both the DWARF 4/pre-standard Fission, and the v5 standardized loclists.

Added a better comment in r345326 so hopefully I don't try to fix this
again only to learn the same thing...

- Dave

On Sat, Aug 5, 2017 at 8:49 AM David Blaikie <dblaikie at gmail.com> wrote:

> Oh, and I meant to say: if you'd like a hand, happy to go poke around in
> LLDB, or review patches, etc.
>
> On Sat, Aug 5, 2017 at 8:48 AM David Blaikie <dblaikie at gmail.com> wrote:
>
>> On Sat, Aug 5, 2017 at 8:34 AM Tamas Berghammer via Phabricator <
>> reviews at reviews.llvm.org> wrote:
>>
>>> tberghammer added a comment.
>>>
>>> I checked LLDB and it doesn't have support for base address entries
>>> neither in .debug_loc nor in .debug_loc.dwo sections and it doesn't support
>>> reading .debug_loclists or .debug_loclists.dwo entries either. I will try
>>> to add support for them but it will require some refactoring so it will
>>> take some time.
>>>
>>
>> Cool - I mean, no particular rush, it seems, if GDB doesn't support it
>> either so we'll need a fallback to the current behavior at least.
>>
>> But if the benefit of fewer relocations in split-dwarf builds (especially
>> optimized builds) is significant to you, this might be nice to have. (it's
>> a smaller win compared to the debug_ranges improvement - which I need to
>> come back around to (it's defaulted off behind a flag for now because
>> Gold's gdb_index fails with it on 32 bit builds - so maybe I'll narrow the
>> default-off down a little (32 bit builds targeting GDB)) & not sure if
>> that's been fixed in LLDB yet)
>>
>>
>>>
>>>
>>> https://reviews.llvm.org/D36300
>>>
>>>
>>>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181025/ed852d2b/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: loc_base_address_offset_pair.diff
Type: text/x-patch
Size: 7527 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181025/ed852d2b/attachment.bin>


More information about the llvm-commits mailing list