Branch: refs/heads/sasha/dwarf-redhat-issues
Home: https://github.com/dyninst/dyninst
Commit: 0b03a47a9c17f18ac8e27cc1e6d9d040d6e1dc63
https://github.com/dyninst/dyninst/commit/0b03a47a9c17f18ac8e27cc1e6d9d040d6e1dc63
Author: Sasha (fedora33) <sasha@xxxxxxxxxxx>
Date: 2021-01-20 (Wed, 20 Jan 2021)
Changed paths:
M symtabAPI/src/Object-elf.C
M symtabAPI/src/dwarfWalker.C
M symtabAPI/src/dwarfWalker.h
Log Message:
-----------
Add suppemental file flag to hash_map of types {key->ID}, fix it on get_type_id()
In struct Context, switch Dwarf_Off to Dwarf_Die
Add case DW_TAG_imported_unit in parse()
Parse compile_unit and partial_unit in parseModule()
Remove DwarfWalker::findOffset()
Remove unnecessary first parameter of DwarfWalker::findDieName(), fix
all calls
Commit: 121f55075d5a5cfe86b0a8d882e4988b293ec3c3
https://github.com/dyninst/dyninst/commit/121f55075d5a5cfe86b0a8d882e4988b293ec3c3
Author: Sasha (fedora33) <sasha@xxxxxxxxxxx>
Date: 2021-02-01 (Mon, 01 Feb 2021)
Changed paths:
M dwarf/h/dwarfExprParser.h
M dwarf/src/dwarfExprParser.C
M symtabAPI/src/Symtab-lookup.C
M symtabAPI/src/Symtab.C
M symtabAPI/src/Type.C
M symtabAPI/src/dwarfWalker.C
M symtabAPI/src/dwarfWalker.h
Log Message:
-----------
Parse referenced type DIE while parsing a DIE:
Dyninst parses DIEs in a 'sequential' order. With the new supplemental dwarf
file (optimized with DWZ), the previous assumption that a type referenced by
a DIE will be in the same compile unit is now wrong. This lets Dyninst create
DIEs whose type reference is never parsed. The solution is to parse a type as
soon as Dyninst sees it, which essentially means parse when the first reference
is encountered.
Other fixes included:
Fix name of types struct, enum, and arrays with brackets.
Create new key (offset, file, module) to map type id.
Associate DIEs named <artificial> to defaultModule.
Remove redundant search on DwarfParseActions::setModuleFromName
Remove unused decode dwarf expression function.
Initialize SymtabError serr to SymtabError::No_Error
Compare: https://github.com/dyninst/dyninst/compare/f89ff36a7a8d...121f55075d5a
|