ROSE
0.11.109.0
|
Disassembly and partitioning utilities for PowerPC.
Classes | |
class | MatchStwuPrologue |
Matches a PowerPC function prolog using STWU. More... | |
Functions | |
Sawyer::Optional< rose_addr_t > | matchElfDynamicStub (const Partitioner &, const Function::Ptr &, const AddressIntervalSet &pltAddresses) |
Matches a PowerPC ELF dynamic function stub. More... | |
void | nameImportThunks (const Partitioner &, SgAsmInterpretation *) |
Give names to thunks for dynamically linked functions. More... | |
boost::logic::tribool | isFunctionReturn (const Partitioner &, const BasicBlock::Ptr &) |
Determines whether basic block is a function return. More... | |
Sawyer::Optional<rose_addr_t> Rose::BinaryAnalysis::Partitioner2::ModulesPowerpc::matchElfDynamicStub | ( | const Partitioner & | , |
const Function::Ptr & | , | ||
const AddressIntervalSet & | pltAddresses | ||
) |
Matches a PowerPC ELF dynamic function stub.
If the function's instructions make it look like an ELF dynamic linking stub and it references an entry in the Procedure Loookup Table (defined by the PLT location in memory), then return the PLT entry address, otherwise return nothing.
void Rose::BinaryAnalysis::Partitioner2::ModulesPowerpc::nameImportThunks | ( | const Partitioner & | , |
SgAsmInterpretation * | |||
) |
Give names to thunks for dynamically linked functions.
boost::logic::tribool Rose::BinaryAnalysis::Partitioner2::ModulesPowerpc::isFunctionReturn | ( | const Partitioner & | , |
const BasicBlock::Ptr & | |||
) |
Determines whether basic block is a function return.
Returns true if the basic block appears to be a function return, semantically. Indeterminate if semantics are disabled.