[DynInst_API:] [dyninst/dyninst] 40f929: Add initial support for analyzing AMDGPU binaries ...


Date: Mon, 23 Nov 2020 21:28:42 -0800
From: noreply@xxxxxxxxxx
Subject: [DynInst_API:] [dyninst/dyninst] 40f929: Add initial support for analyzing AMDGPU binaries ...
  Branch: refs/heads/master
  Home:   https://github.com/dyninst/dyninst
  Commit: 40f9295af0666d7eed13f8c69236ae24e77969c1
      https://github.com/dyninst/dyninst/commit/40f9295af0666d7eed13f8c69236ae24e77969c1
  Author: bbiiggppiigg <bbiiggppiigg@xxxxxxxxx>
  Date:   2020-11-23 (Mon, 23 Nov 2020)

  Changed paths:
    A common/h/amdgpu_op_table.h
    A common/h/amdgpu_vega_sys_regs.h
    M common/h/dyn_regs.h
    M common/h/entryIDs.h
    M common/src/dyn_regs.C
    M dataflowAPI/rose/conversions.h
    M dataflowAPI/rose/semantics/Registers.C
    M dataflowAPI/src/AbslocInterface.C
    M dataflowAPI/src/ExpressionConversionVisitor.C
    M dataflowAPI/src/RoseInsnFactory.C
    M dataflowAPI/src/RoseInsnFactory.h
    M dataflowAPI/src/SymEval.C
    M dataflowAPI/src/SymbolicExpansion.C
    M dataflowAPI/src/SymbolicExpansion.h
    M dataflowAPI/src/convertOpcodes.C
    M dwarf/src/dwarfHandle.C
    M elf/src/Elf_X.C
    A external/rose/amdgpuInstructionEnum.h
    M external/rose/rose-compat.h
    M instructionAPI/CMakeLists.txt
    M instructionAPI/h/ArchSpecificFormatters.h
    M instructionAPI/h/BinaryFunction.h
    M instructionAPI/h/Instruction.h
    M instructionAPI/h/InstructionCategories.h
    M instructionAPI/h/Operation_impl.h
    A instructionAPI/h/Ternary.h
    M instructionAPI/src/ArchSpecificFormatters.C
    M instructionAPI/src/Expression.C
    M instructionAPI/src/Instruction.C
    M instructionAPI/src/InstructionCategories.C
    A instructionAPI/src/InstructionDecoder-amdgpu-vega.C
    A instructionAPI/src/InstructionDecoder-amdgpu-vega.h
    M instructionAPI/src/InstructionDecoderImpl.C
    M instructionAPI/src/InstructionDecoderImpl.h
    M instructionAPI/src/Register.C
    A instructionAPI/src/Ternary.C
    A instructionAPI/src/amdgpu_branchinsn_table.h
    A instructionAPI/src/amdgpu_decoder_impl_vega.C
    A instructionAPI/src/amdgpu_decoder_impl_vega.h
    A instructionAPI/src/amdgpu_insn_entry.h
    A instructionAPI/src/amdgpu_opcode_tables.C
    M parseAPI/CMakeLists.txt
    M parseAPI/src/IA_IAPI.C
    A parseAPI/src/IA_amdgpu.C
    A parseAPI/src/IA_amdgpu.h
    M parseAPI/src/IndirectAnalyzer.C
    M parseAPI/src/Parser.C
    M parseAPI/src/SymbolicExpression.C
    M proccontrol/src/process.C

  Log Message:
  -----------
  Add initial support for analyzing AMDGPU binaries (#900)

* remove unnecessary assertion for unknown phdr_type

* add initial stubs for amdgpu support

* add formatters for amdgpu

* add opcode table and register definition

* added support for register vector

* add untracked files

* commit stubs for xiaozhu to see

* initial cfg traversal done

* remove unused register-pair related files

* remove symbol patching since the 256 byte function header is no longer there

* Do not assert in getBaseRegister

* fix instruction length detection and decoding logic

* now decode will only decode operands for branch instructions

* added basic support for amdgpu in rose

* merged upstream

* fix a bug where we decode the vdst as ssrc

* improve the logic for computing len of instructions that might make use of literals, such that we no longer need to pass the buffer all over the place

* fix undefined behavior for std::transform

* Remove empty code blocks/Unreachable code/Unneeded
Comment out dead code
Restore sym_debug_parsing to default value 0

* Added meaningful name and comments to function prototype of getAMDGPURoseRegisters
Remove duplicate public modifiers in class declaration.

* remove unnecessary include of boost/format.hpp

* remove all amdgpu related stuff in dataflowAPI, and patched indirect analyzer so it skips for amdgpu

* renaming Arch_amdgpu to Arch_amdgpu_vega

* make changes to use namespace amdgpu_vega instead of amdgpu

* change the naming of c_NonReturnInsn to c_GPUKernelExitInsn as suggested

Co-authored-by: Xiaozhu Meng <mxz297@xxxxxxxxx>


[← Prev in Thread] Current Thread [Next in Thread→]
  • [DynInst_API:] [dyninst/dyninst] 40f929: Add initial support for analyzing AMDGPU binaries ..., noreply <=