From eca2df1b456c72e9ed8f9066686e0c181ebc1e67 Mon Sep 17 00:00:00 2001 From: Tim Haines Date: Fri, 27 Oct 2023 17:09:34 -0500 Subject: [PATCH] Clean up dyn_regs.h usage (#235) * Add missing usages of 'dyn_regs.h' This corresponds to cleanups of its usage in Dyninst. * Use arch-specific register files * Remove aarch64 subdir --- src/instruction/aarch64_cft.C | 1 + src/instruction/aarch64_decode.C | 2 +- src/instruction/aarch64_decode_ldst.C | 2 +- src/instruction/aarch64_simd.C | 2 +- src/instruction/fucompp.C | 3 +++ src/instruction/power_cft.C | 3 ++- src/instruction/power_decode.C | 2 +- src/instruction/test_instruction_bind_eval.C | 12 +++++++++++- src/instruction/test_instruction_read_write.C | 4 ++++ 9 files changed, 25 insertions(+), 6 deletions(-) diff --git a/src/instruction/aarch64_cft.C b/src/instruction/aarch64_cft.C index 0f14fd62e..745f3d82d 100644 --- a/src/instruction/aarch64_cft.C +++ b/src/instruction/aarch64_cft.C @@ -34,6 +34,7 @@ #include "Instruction.h" #include "InstructionDecoder.h" #include "Register.h" +#include "registers/aarch64_regs.h" #include #include diff --git a/src/instruction/aarch64_decode.C b/src/instruction/aarch64_decode.C index bf7103bd4..947cdd1f4 100644 --- a/src/instruction/aarch64_decode.C +++ b/src/instruction/aarch64_decode.C @@ -34,7 +34,7 @@ #include "Instruction.h" #include "InstructionDecoder.h" #include "Register.h" -#include "dyn_regs.h" +#include "registers/aarch64_regs.h" #include #include #include diff --git a/src/instruction/aarch64_decode_ldst.C b/src/instruction/aarch64_decode_ldst.C index 3bc4f426a..999db6e58 100644 --- a/src/instruction/aarch64_decode_ldst.C +++ b/src/instruction/aarch64_decode_ldst.C @@ -34,7 +34,7 @@ #include "Instruction.h" #include "InstructionDecoder.h" #include "Register.h" -#include "dyn_regs.h" +#include "registers/aarch64_regs.h" #include #include #include diff --git a/src/instruction/aarch64_simd.C b/src/instruction/aarch64_simd.C index 36431604d..09b7e27d8 100644 --- a/src/instruction/aarch64_simd.C +++ b/src/instruction/aarch64_simd.C @@ -34,7 +34,7 @@ #include "Instruction.h" #include "InstructionDecoder.h" #include "Register.h" -#include "dyn_regs.h" +#include "registers/aarch64_regs.h" #include #include #include diff --git a/src/instruction/fucompp.C b/src/instruction/fucompp.C index 46c07582d..6b784b1a8 100644 --- a/src/instruction/fucompp.C +++ b/src/instruction/fucompp.C @@ -35,6 +35,9 @@ #include "InstructionDecoder.h" #include #include +#include "Architecture.h" +#include "registers/x86_regs.h" + using namespace Dyninst; using namespace InstructionAPI; using namespace boost; diff --git a/src/instruction/power_cft.C b/src/instruction/power_cft.C index 8a98a0358..612a3a86b 100644 --- a/src/instruction/power_cft.C +++ b/src/instruction/power_cft.C @@ -34,7 +34,7 @@ #include "Instruction.h" #include "InstructionDecoder.h" #include "Register.h" - +#include "registers/ppc32_regs.h" #include #include #include @@ -160,6 +160,7 @@ test_results_t power_cft_Mutator::executeTest() cfts.push_back(cftExpected(true, 0x404, false, false, false, true)); while(!decodedInsns.empty()) { + logerror("Parsing instruction '%s'\n", decodedInsns.front().format().c_str()); (void)(decodedInsns.front().getControlFlowTarget()); for(Instruction::cftConstIter curCFT = decodedInsns.front().cft_begin(); curCFT != decodedInsns.front().cft_end(); diff --git a/src/instruction/power_decode.C b/src/instruction/power_decode.C index cc6e510bd..f1cbe87fa 100644 --- a/src/instruction/power_decode.C +++ b/src/instruction/power_decode.C @@ -34,7 +34,7 @@ #include "Instruction.h" #include "InstructionDecoder.h" #include "Register.h" -#include "dyn_regs.h" +#include "registers/ppc32_regs.h" #include #include #include diff --git a/src/instruction/test_instruction_bind_eval.C b/src/instruction/test_instruction_bind_eval.C index 01461b92f..5e15aeb8b 100644 --- a/src/instruction/test_instruction_bind_eval.C +++ b/src/instruction/test_instruction_bind_eval.C @@ -35,10 +35,20 @@ #include "InstructionDecoder.h" #include "Expression.h" #include "Result.h" - +#include "Architecture.h" #include #include +#if defined(arch_x86_64_test) +# include "registers/x86_64_regs.h" + Dyninst::Architecture curArch = Dyninst::Arch_x86_64; + using namespace Dyninst::x86_64; +#elif defined(arch_x86_test) +# include "registers/x86_regs.h" + Dyninst::Architecture curArch = Dyninst::Arch_x86; + using namespace Dyninst::x86; +#endif + using namespace Dyninst; using namespace InstructionAPI; using namespace boost::assign; diff --git a/src/instruction/test_instruction_read_write.C b/src/instruction/test_instruction_read_write.C index 4cbaef98c..4d0398b21 100644 --- a/src/instruction/test_instruction_read_write.C +++ b/src/instruction/test_instruction_read_write.C @@ -35,6 +35,10 @@ #include "InstructionDecoder.h" #include #include +#include "Architecture.h" +#include "registers/x86_regs.h" +#include "registers/x86_64_regs.h" + using namespace Dyninst; using namespace InstructionAPI; using namespace boost;