1 #ifndef ROSE_BinaryAnalysis_Partitioner2_ModulesM68k_H
2 #define ROSE_BinaryAnalysis_Partitioner2_ModulesM68k_H
3 #include <featureTests.h>
4 #ifdef ROSE_ENABLE_BINARY_ANALYSIS
5 #include <Rose/BinaryAnalysis/Partitioner2/BasicTypes.h>
7 #include <Rose/BinaryAnalysis/Partitioner2/Modules.h>
10 namespace BinaryAnalysis {
11 namespace Partitioner2 {
14 namespace ModulesM68k {
30 virtual std::vector<FunctionPtr>
functions()
const override;
47 virtual bool operator()(
bool chain,
const Args&)
override;
virtual bool match(const PartitionerConstPtr &, rose_addr_t anchor) override
Attempt to match an instruction pattern.
static Ptr instance()
Allocating constructor.
Base class for matching function padding.
Base class for adjusting basic blocks during discovery.
Base class for matching function prologues.
virtual bool operator()(bool chain, const Args &) override
Callback method.
std::vector< FunctionPtr > findInterruptFunctions(const PartitionerConstPtr &, rose_addr_t vectorVa)
Find functions for an interrupt vector.
FunctionPaddingMatcherPtr Ptr
Shared-ownership pointer to a FunctionPaddingMatcher.
Matches an M68k function prologue with LINK instruction.
Main namespace for the ROSE library.
Adjusts basic block successors for M68k "switch" statements.
static Ptr instance()
Allocating constructor.
Matches M68k function padding.
static Ptr instance()
Allocating constructor.
virtual std::vector< FunctionPtr > functions() const override
Returns the function(s) for the previous successful match.
BasicBlockCallbackPtr Ptr
Shared-ownership pointer to a BasicBlockCallback.
virtual rose_addr_t match(const PartitionerConstPtr &, rose_addr_t anchor) override
Attempt to match padding.