[DynInst_API:] [dyninst/dyninst] b7ca05: Construct a Module from the CU's offset not its PC...


Date: Tue, 14 Nov 2023 04:46:19 -0800
From: Tim Haines <noreply@xxxxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] b7ca05: Construct a Module from the CU's offset not its PC...
  Branch: refs/heads/master
  Home:   https://github.com/dyninst/dyninst
  Commit: b7ca05affcd83108fd5e7680cd39eb16b3163ce8
      https://github.com/dyninst/dyninst/commit/b7ca05affcd83108fd5e7680cd39eb16b3163ce8
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2023-11-14 (Tue, 14 Nov 2023)

  Changed paths:
    M dwarf/h/dwarf_cu_info.h
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/dwarfWalker.C

  Log Message:
  -----------
  Construct a Module from the CU's offset not its PC (#1626)

* Construct a Module from the CU's offset not its PC

The PC value can be non-unique across CUs. For example, they can all
be 0x0 for a PIE binary. The offset of the CU is unique as it's the
location inside of the .debug_info table.

* Use correct lookup when creating module during Object parse

When creating a module during fix_global_symbol_modules_static_dwarf,
the default module covers all ranges, so we need to look for the
exact offset to prevent using the default module every time.

* Use correct offset in DwarfWalker::parseModule

* Lookup DIE location with dwarf_offdie when parsing ranges


[← Prev in Thread] Current Thread [Next in Thread→]
  • [DynInst_API:] [dyninst/dyninst] b7ca05: Construct a Module from the CU's offset not its PC..., Tim Haines <=