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
|