[DynInst_API:] [dyninst/dyninst] 636007: Fix responsibility inversion in Module::finalizeRa...


Date: Tue, 05 Sep 2023 20:43:53 -0700
From: Tim Haines <noreply@xxxxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] 636007: Fix responsibility inversion in Module::finalizeRa...
  Branch: refs/heads/thaines/dwarfwalker_getReturnType_remove_hasSpecification
  Home:   https://github.com/dyninst/dyninst
  Commit: 63600787a5ff07d1fdc03835c3fcb99731e65a9a
      https://github.com/dyninst/dyninst/commit/63600787a5ff07d1fdc03835c3fcb99731e65a9a
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2023-09-05 (Tue, 05 Sep 2023)

  Changed paths:
    M symtabAPI/h/Module.h
    M symtabAPI/src/Module.C
    M symtabAPI/src/Symtab.C

  Log Message:
  -----------
  Fix responsibility inversion in Module::finalizeRanges (#1498)

A Module shouldn't modify the Symtab object to which it belongs. It
knows what ranges belong to it (see
Object::fix_global_symbol_modules_static_dwarf), so it can munge them
into a collection of `ModRange`s.

The `ranges_finalized` member was never needed as the only place
it was set was in `finalizeRanges` which is the only place where
`ranges` was emptied.


  Commit: d04e892c8f3c9451ff4e77187416a391b5e4ecfa
      https://github.com/dyninst/dyninst/commit/d04e892c8f3c9451ff4e77187416a391b5e4ecfa
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2023-09-05 (Tue, 05 Sep 2023)

  Changed paths:
    M symtabAPI/src/dwarfWalker.C

  Log Message:
  -----------
  Add newline in log message in DwarfWalker::parseModule (#1506)


  Commit: 463801216b933cdfdc4115b3d170eb4f64b513f1
      https://github.com/dyninst/dyninst/commit/463801216b933cdfdc4115b3d170eb4f64b513f1
  Author: bbiiggppiigg <bbiiggppiigg@xxxxxxxxx>
  Date:   2023-09-05 (Tue, 05 Sep 2023)

  Changed paths:
    M common/h/dyn_regs.h
    M instructionAPI/h/Immediate.h
    M instructionAPI/h/Instruction.h
    M instructionAPI/h/Operation_impl.h
    M instructionAPI/src/AMDGPU/gfx908/InstructionDecoder-amdgpu-gfx908.C
    M instructionAPI/src/AMDGPU/gfx908/InstructionDecoder-amdgpu-gfx908.h
    M instructionAPI/src/AMDGPU/gfx908/amdgpu_gfx908_decoder_impl.C
    M instructionAPI/src/AMDGPU/gfx908/amdgpu_gfx908_decoder_impl.h
    M instructionAPI/src/AMDGPU/gfx908/decodeOperands.C
    M instructionAPI/src/AMDGPU/gfx908/finalizeOperands.C
    M instructionAPI/src/AMDGPU/gfx90a/InstructionDecoder-amdgpu-gfx90a.C
    M instructionAPI/src/AMDGPU/gfx90a/InstructionDecoder-amdgpu-gfx90a.h
    M instructionAPI/src/AMDGPU/gfx90a/amdgpu_gfx90a_decoder_impl.C
    M instructionAPI/src/AMDGPU/gfx90a/amdgpu_gfx90a_decoder_impl.h
    M instructionAPI/src/AMDGPU/gfx90a/decodeOperands.C
    M instructionAPI/src/AMDGPU/gfx90a/finalizeOperands.C
    M instructionAPI/src/Immediate.C

  Log Message:
  -----------
  Workarounds to align decoder output with llvm-objdump (#1508)

* Add info registers and fix some duplicate values

* Add named immediate as an operand type

* Add a method for updating mnemonic(required for adding extensions)

* Implement Workarounds for Gfx908 and GFX90A

This commit is intended to fix the following problems

1. Instructions that use SDWA have wrong length
2. Instructions that use SDWA does not have the _SDWA suffixh
3. MUBUF instructions decodes the VADDR field incorrectly
4. MUBUF instructions missing information about offset
5. DS instructions missing information about offset

* redo whitespace and indentation changes


  Commit: 481ee344d36721c44aa456e31937836c90ee235d
      https://github.com/dyninst/dyninst/commit/481ee344d36721c44aa456e31937836c90ee235d
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2023-09-05 (Tue, 05 Sep 2023)

  Changed paths:
    M symtabAPI/doc/API/Symtab/Function.tex
    M symtabAPI/doc/API/Symtab/FunctionBase.tex
    M symtabAPI/h/Function.h

  Log Message:
  -----------
  Remove FunctionBase::setReturnType(Type*) (#1503)

This is never called from within Dyninst and should never be called by
a user.


  Commit: 7acb76787c647a434301579e4e9baa3a59884eb4
      https://github.com/dyninst/dyninst/commit/7acb76787c647a434301579e4e9baa3a59884eb4
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2023-09-05 (Tue, 05 Sep 2023)

  Changed paths:
    M symtabAPI/src/dwarfWalker.C

  Log Message:
  -----------
  Don't check for existing return type when parsing DWARF subprogram (#1509)

Since 8b400af5, functions are guaranteed to only be parsed once, so the
return type can never be set before the call here. Checking the return
type circularly invokes Symtab::parseTypesNow which deadlocks since
7f1e24d.


  Commit: d7047e2d22ab5f7bb2a0b8b37434ed955ab97f29
      https://github.com/dyninst/dyninst/commit/d7047e2d22ab5f7bb2a0b8b37434ed955ab97f29
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2023-09-05 (Tue, 05 Sep 2023)

  Changed paths:
    M dwarf/h/dwarf_cu_info.hpp

  Log Message:
  -----------
  Fix inverted logic  in DwarfDyninst::is_cudie (#1505)

If a DIE is a CU, then it contains a reference to its Dwarf_CU.

Introduced by 71f2e14d3 (PR1499).


  Commit: e1ad9820d56e0565e937afb0354b70a951a25e1f
      https://github.com/dyninst/dyninst/commit/e1ad9820d56e0565e937afb0354b70a951a25e1f
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2023-09-05 (Tue, 05 Sep 2023)

  Changed paths:
    M common/h/dyn_regs.h
    M dwarf/h/dwarf_cu_info.hpp
    M instructionAPI/h/Immediate.h
    M instructionAPI/h/Instruction.h
    M instructionAPI/h/Operation_impl.h
    M instructionAPI/src/AMDGPU/gfx908/InstructionDecoder-amdgpu-gfx908.C
    M instructionAPI/src/AMDGPU/gfx908/InstructionDecoder-amdgpu-gfx908.h
    M instructionAPI/src/AMDGPU/gfx908/amdgpu_gfx908_decoder_impl.C
    M instructionAPI/src/AMDGPU/gfx908/amdgpu_gfx908_decoder_impl.h
    M instructionAPI/src/AMDGPU/gfx908/decodeOperands.C
    M instructionAPI/src/AMDGPU/gfx908/finalizeOperands.C
    M instructionAPI/src/AMDGPU/gfx90a/InstructionDecoder-amdgpu-gfx90a.C
    M instructionAPI/src/AMDGPU/gfx90a/InstructionDecoder-amdgpu-gfx90a.h
    M instructionAPI/src/AMDGPU/gfx90a/amdgpu_gfx90a_decoder_impl.C
    M instructionAPI/src/AMDGPU/gfx90a/amdgpu_gfx90a_decoder_impl.h
    M instructionAPI/src/AMDGPU/gfx90a/decodeOperands.C
    M instructionAPI/src/AMDGPU/gfx90a/finalizeOperands.C
    M instructionAPI/src/Immediate.C
    M symtabAPI/doc/API/Symtab/Function.tex
    M symtabAPI/doc/API/Symtab/FunctionBase.tex
    M symtabAPI/h/Function.h
    M symtabAPI/h/Module.h
    M symtabAPI/src/Module.C
    M symtabAPI/src/Symtab.C
    M symtabAPI/src/dwarfWalker.C

  Log Message:
  -----------
  Merge branch 'master' into thaines/dwarfwalker_getReturnType_remove_hasSpecification


Compare: https://github.com/dyninst/dyninst/compare/6b9f53b6d77c...e1ad9820d56e
[← Prev in Thread] Current Thread [Next in Thread→]