public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
* Fission loc.dwo and DWARFv5 loclists support
@ 2018-10-25 22:05 David Blaikie
  0 siblings, 0 replies; only message in thread
From: David Blaikie @ 2018-10-25 22:05 UTC (permalink / raw)
  To: gdb; +Cc: Jan Kratochvil, dje

Hi there,

I have been experimenting with using
DW_LLE_GNU_base_address_selection_entry + DW_LLE_GNU_offset_pair (this
would allow the base_address to reuse an existing address (like the start
of the section/function) in the address pool - reducing the size of object
files (especially in optimized binaries that contain potentially many loc
lists with many entries) - but it turns out GDB doesn't support the
offset_pair, though it does appear to support the base address selection in
debug_loc.dwo (yet what's that support for? The other forms don't use base
addresses - so without offset_pair, base_address isn't used/useful?)

Conversely, it looks like the DWARFv5 finalized support in loclists /only/
supports base_address+offset_pair, not any other form (start_end,
start_length, default_location, plus the address pool referencing forms).

And it looks like this mutual exclusion (DWARFv5 /only/ using base address
relative, pre-standand Fission never using them) is built a bit further
into the implementation (
https://github.com/bminor/binutils-gdb/blob/master/gdb/dwarf2loc.c#L332 ).

Wondering if this is on anyone's radar/interest in fixing? It could be a
substantial savings in .o file size to use the relative forms.

(also, I'm curious - are the LLE_.*x (the DWARFv5 standard forms that
reference the address pool) forms already or going to be supported? The
code looks like it doesn't have any *x forms, but perhaps they're
normalized elsewhere?)

Thanks,
- Dave

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2018-10-25 22:05 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-25 22:05 Fission loc.dwo and DWARFv5 loclists support David Blaikie

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).