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;
14namespace ModulesM68k {
…}
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 Address match(const PartitionerConstPtr &, Address 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 &, Address 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 &, Address vectorVa)
Find functions for an interrupt vector.
std::uint64_t Address
Address.
Arguments passed to the callback.