[RFC dwarves 0/3] Explore using address-based DWARF->ELF

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This work-in-progress series is an initial exploration of using
function addresses to match between DWARF and ELF to improve matching
accuracy, and as a prelude to potentially representing address info
in BTF itself.

It is missing ~1000 functions in the resultant generated vmlinux BTF
where we currently cannot find an associated address in the DWARF;
there may be further enhancements needed in our DWARF function address
association, or we may ultimately need to use a hybrid address/name
scheme, falling back to names where DWARF addresses are not present.

When we come to encode addresses in BTF, they will be likely 32-bit
section relative.  This will allow for kernels that randomize the kernel
base address.  But that is not tackled yet; these initial changes are
focused on improving the BTF generated using address-based matching,
but not augmenting BTF with addresses yet.

Would be great if folks could see if there are any potential
improvements to make the matching process more complete, or just want
to try out the series and compare before/after BTF encoding to see what
is missing. Thanks!

Alan Maguire (3):
  btf_encoder: collect ELF function addresses
  dwarf_loader: make more effort to retrieve a function address
  btf_encoder: use function address to match ELF -> DWARF

 btf_encoder.c  | 78 ++++++++++++++++++++++++++------------------------
 dwarf_loader.c | 29 ++++++++++++++++---
 dwarves.h      |  3 +-
 3 files changed, 68 insertions(+), 42 deletions(-)

-- 
2.39.3





[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux