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>
10namespace BinaryAnalysis {
11namespace Partitioner2 {
14namespace ModulesM68k {
30 virtual std::vector<FunctionPtr>
functions()
const override;
Base class for adjusting basic blocks during discovery.
BasicBlockCallbackPtr Ptr
Shared-ownership pointer to a BasicBlockCallback.
Base class for matching function padding.
FunctionPaddingMatcherPtr Ptr
Shared-ownership pointer to a FunctionPaddingMatcher.
Base class for matching function prologues.
Matches M68k function padding.
virtual rose_addr_t match(const PartitionerConstPtr &, rose_addr_t anchor) override
Attempt to match padding.
static Ptr instance()
Allocating constructor.
Matches an M68k function prologue with LINK instruction.
virtual std::vector< FunctionPtr > functions() const override
Returns the function(s) for the previous successful match.
static Ptr instance()
Allocating constructor.
virtual bool match(const PartitionerConstPtr &, rose_addr_t anchor) override
Attempt to match an instruction pattern.
Adjusts basic block successors for M68k "switch" statements.
static Ptr instance()
Allocating constructor.
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.
Arguments passed to the callback.