Branch: refs/heads/master
Home: https://github.com/dyninst/dyninst
Commit: ef9bf0ae9ad915f2c57ea9837cbe63248fb9423c
https://github.com/dyninst/dyninst/commit/ef9bf0ae9ad915f2c57ea9837cbe63248fb9423c
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2023-10-27 (Fri, 27 Oct 2023)
Changed paths:
M common/CMakeLists.txt
R common/h/AMDGPU/gfx908/amdgpu_gfx908_sys_regs.h
R common/h/AMDGPU/gfx90a/amdgpu_gfx90a_sys_regs.h
R common/h/AMDGPU/gfx940/amdgpu_gfx940_sys_regs.h
A common/h/Architecture.h
M common/h/MachSyscall.h
M common/h/ProcReader.h
M common/h/SymReader.h
M common/h/VariableLocation.h
R common/h/aarch64_sys_regs.h
M common/h/dyn_regs.h
A common/h/registers/AMDGPU/amdgpu_gfx908_regs.h
A common/h/registers/AMDGPU/amdgpu_gfx90a_regs.h
A common/h/registers/AMDGPU/amdgpu_gfx940_regs.h
A common/h/registers/MachRegister.h
A common/h/registers/aarch64_regs.h
A common/h/registers/abstract_regs.h
A common/h/registers/cuda_regs.h
A common/h/registers/ppc32_regs.h
A common/h/registers/ppc64_regs.h
A common/h/registers/reg_def.h
A common/h/registers/x86_64_regs.h
A common/h/registers/x86_regs.h
M common/src/SyscallInformation.C
M common/src/arch-aarch64.h
M common/src/arch-power.h
M common/src/arch-x86.C
M common/src/arch-x86.h
M common/src/dyn_regs.C
A common/src/registers/MachRegister.C
M dataflowAPI/h/ABI.h
M dataflowAPI/h/stackanalysis.h
M dataflowAPI/rose/semantics/SymEvalSemantics.C
M dataflowAPI/src/ABI.C
M dataflowAPI/src/AbslocInterface.C
M dataflowAPI/src/ExpressionConversionVisitor.h
M dataflowAPI/src/RegisterMap.C
M dataflowAPI/src/RegisterMap.h
M dataflowAPI/src/SymEvalPolicy.C
M dataflowAPI/src/liveness.C
M dataflowAPI/src/slicing.C
M dataflowAPI/src/stackanalysis.C
M dwarf/h/dwarfExprParser.h
M dwarf/h/dwarfFrameParser.h
M dwarf/h/dwarfHandle.h
M dwarf/h/dwarfResult.h
M dwarf/src/dwarfExprParser.C
M dwarf/src/dwarfFrameParser.C
M dwarf/src/dwarfResult.C
M dyninstAPI/src/BPatch_object.C
M dyninstAPI/src/BPatch_type.C
M dyninstAPI/src/RegisterConversion-aarch64.C
M dyninstAPI/src/RegisterConversion-ppc.C
M dyninstAPI/src/RegisterConversion-x86.C
M dyninstAPI/src/RegisterConversion.h
M dyninstAPI/src/Relocation/Transformers/Movement-analysis.C
M dyninstAPI/src/StackMod/OffsetVector.h
M dyninstAPI/src/StackMod/StackAccess.C
M dyninstAPI/src/StackMod/StackAccess.h
M dyninstAPI/src/StackMod/StackLocation.h
M dyninstAPI/src/StackMod/TMap.C
M dyninstAPI/src/StackMod/TMap.h
M dyninstAPI/src/codegen-x86.h
M dyninstAPI/src/frameChecker.C
M dyninstAPI/src/linux-x86.C
M dyninstAPI/src/parse-x86.C
M elf/h/Elf_X.h
M instructionAPI/h/ArchSpecificFormatters.h
M instructionAPI/h/Register.h
M instructionAPI/h/Ternary.h
M instructionAPI/src/AMDGPU/gfx908/InstructionDecoder-amdgpu-gfx908.C
M instructionAPI/src/AMDGPU/gfx908/InstructionDecoder-amdgpu-gfx908.h
M instructionAPI/src/AMDGPU/gfx90a/InstructionDecoder-amdgpu-gfx90a.C
M instructionAPI/src/AMDGPU/gfx90a/InstructionDecoder-amdgpu-gfx90a.h
M instructionAPI/src/AMDGPU/gfx940/InstructionDecoder-amdgpu-gfx940.C
M instructionAPI/src/AMDGPU/gfx940/InstructionDecoder-amdgpu-gfx940.h
M instructionAPI/src/ArchSpecificFormatters.C
M instructionAPI/src/InstructionDecoder-aarch64.C
M instructionAPI/src/InstructionDecoder-aarch64.h
M instructionAPI/src/InstructionDecoder-power.C
M instructionAPI/src/InstructionDecoder-power.h
M instructionAPI/src/InstructionDecoder-x86.C
M instructionAPI/src/InstructionDecoderImpl.h
M instructionAPI/src/Operation.C
M instructionAPI/src/Register.C
M instructionAPI/src/Ternary.C
M parseAPI/h/InstructionSource.h
M parseAPI/src/BoundFactCalculator.C
M parseAPI/src/IA_IAPI.C
M parseAPI/src/IA_aarch64.C
M parseAPI/src/IA_power.C
M parseAPI/src/IdiomModelDesc.C
M parseAPI/src/IndirectAnalyzer.C
M parseAPI/src/JumpTableFormatPred.C
M parseAPI/src/Parser.C
M parseAPI/src/ProbabilisticParser.C
M parseAPI/src/ThunkData.h
M proccontrol/h/PCProcess.h
M proccontrol/src/freebsd.C
M proccontrol/src/handler.C
M proccontrol/src/int_process.h
M proccontrol/src/linux.C
M proccontrol/src/mmapalloc.C
M proccontrol/src/windows_handler.C
M proccontrol/src/x86_process.C
M proccontrol/src/x86_process.h
M stackwalk/h/basetypes.h
M stackwalk/h/local_var.h
M stackwalk/h/procstate.h
M stackwalk/src/aarch64-swk.C
M stackwalk/src/dbginfo-stepper.C
M stackwalk/src/linux-aarch64-swk.C
M stackwalk/src/linux-ppc-swk.C
M stackwalk/src/linux-swk.C
M stackwalk/src/linuxbsd-x86-swk.C
M stackwalk/src/ppc-swk.C
M stackwalk/src/sw_pcontrol.C
M stackwalk/src/walker.C
M stackwalk/src/x86-swk.C
M symtabAPI/h/Variable.h
M symtabAPI/src/Function.C
M symtabAPI/src/Variable.C
M syscalls/generateSyscallInformation.py
Log Message:
-----------
Refactor common/dyn_regs.h (#1590)
This is a substantial re-architecture of the files used to record the per-architecture machine instructions. Most of the changes here are to facilitate automation of integrating new instructions via Capstone.
* Move Dyninst::Architecture into its own file
* Move MachRegister into separate files
* Remove non-existent classes in MachRegister.h
These should have been removed by d42b65910 in 2021.
* Only define registers in dyn_regs.C
* Move getArchAddressWidth into Architecture.h
* Use new Architecture.h and registers/MachRegister.h headers everywhere
Also fix broken transient includes.
* Remove unnecessary includes of 'dyn_regs.h'
* Put registers for each arch in separate file
* Move isSegmentRegister into x86_regs.h
* Use new per-architecture register files
This should reduce compile times and file sizes.
* Remove unnecessary comment in stackwalk/procstate.h
* Merge aarch64 sys regs into regs file
* Fix whitespace in aarch64_regs.h
* Get rid of aarch64 subdir
* Merge gfx908 sys_regs into regs
* Whitespace gfx908 regs
* Reorder gfx908 register declarations
This makes it consistent with the other architectures.
* Merge gfx90a sys_regs into regs
* Whitespace gfx90a
* Reorder gfx90a register declarations
This makes it consistent with the other architectures.
* Merge gfx940 sys_regs into regs
* Whitespace gfx940
* Reorder gfx940 register declarations
This makes it consistent with the other architectures.
* Flatten AMDGPU register namespace
This makes it consistent with the mnemonics namespace.
* Whitespace ppc32
* Whitespace ppc64
* Whitespace x86_64
* Whitespace ppc32
* Whitespace x86
* Whitespace abstract
* Whitespace cuda
* Remove extra slash in AMDGPU paths
|