ROSE
0.11.87.0
|
Support for binary calling conventions.
This namespace has three main classes and a number of auxiliary classes. The main classes are:
Classes | |
class | Analysis |
Function calling convention. More... | |
class | Definition |
Information about calling conventions. More... | |
class | ParameterLocation |
Abstract parameter location. More... | |
Typedefs | |
typedef Sawyer::SharedPointer< class Definition > | DefinitionPtr |
Reference counting pointer to calling convention definition. More... | |
typedef std::vector< Definition::Ptr > | Dictionary |
A ordered collection of calling convention definitions. More... | |
Enumerations | |
enum | StackParameterOrder { LEFT_TO_RIGHT, RIGHT_TO_LEFT, ORDER_UNSPECIFIED } |
The order that arguments are pushed onto the stack. More... | |
enum | StackDirection { GROWS_UP, GROWS_DOWN } |
The direction in which the stack grows. More... | |
enum | StackCleanup { CLEANUP_BY_CALLER, CLEANUP_BY_CALLEE, CLEANUP_UNSPECIFIED } |
Who is responsible for popping stack parameters. More... | |
Functions | |
void | initDiagnostics () |
Initialize diagnostics. More... | |
const Dictionary & | dictionaryAmd64 () |
Common calling conventions for amd64 (x86-64). More... | |
const Dictionary & | dictionaryAarch32 () |
Common calling conventions for ARM AArch32. More... | |
const Dictionary & | dictionaryAarch64 () |
Common calling conventions for ARM AArch64. More... | |
const Dictionary & | dictionaryM68k () |
Common calling conventions for m68k. More... | |
const Dictionary & | dictionaryMips () |
Common calling conventions for MIPS. More... | |
const Dictionary & | dictionaryPowerpc32 () |
Common calling conventions for PowerPC-32. More... | |
const Dictionary & | dictionaryPowerpc64 () |
Common calling conventions for PowerPC-64. More... | |
const Dictionary & | dictionaryX86 () |
Common calling conventions for 32-bit x86. More... | |
std::ostream & | operator<< (std::ostream &, const Definition &) |
std::ostream & | operator<< (std::ostream &, const Analysis &) |
Variables | |
Sawyer::Message::Facility | mlog |
Facility for diagnostic output. More... | |
typedef Sawyer::SharedPointer<class Definition> Rose::BinaryAnalysis::CallingConvention::DefinitionPtr |
Reference counting pointer to calling convention definition.
Definition at line 222 of file CallingConvention.h.
typedef std::vector<Definition::Ptr> Rose::BinaryAnalysis::CallingConvention::Dictionary |
A ordered collection of calling convention definitions.
Definition at line 600 of file CallingConvention.h.
The order that arguments are pushed onto the stack.
Definition at line 52 of file CallingConvention.h.
The direction in which the stack grows.
Enumerator | |
---|---|
GROWS_UP |
A push increments the stack pointer. |
GROWS_DOWN |
A push decrements the stack pointer. |
Definition at line 59 of file CallingConvention.h.
Who is responsible for popping stack parameters.
Definition at line 65 of file CallingConvention.h.
void Rose::BinaryAnalysis::CallingConvention::initDiagnostics | ( | ) |
Initialize diagnostics.
This is normally called as part of ROSE's diagnostics initialization, but it doesn't hurt to call it often.
const Dictionary& Rose::BinaryAnalysis::CallingConvention::dictionaryAmd64 | ( | ) |
Common calling conventions for amd64 (x86-64).
const Dictionary& Rose::BinaryAnalysis::CallingConvention::dictionaryAarch32 | ( | ) |
Common calling conventions for ARM AArch32.
const Dictionary& Rose::BinaryAnalysis::CallingConvention::dictionaryAarch64 | ( | ) |
Common calling conventions for ARM AArch64.
const Dictionary& Rose::BinaryAnalysis::CallingConvention::dictionaryM68k | ( | ) |
Common calling conventions for m68k.
const Dictionary& Rose::BinaryAnalysis::CallingConvention::dictionaryMips | ( | ) |
Common calling conventions for MIPS.
const Dictionary& Rose::BinaryAnalysis::CallingConvention::dictionaryPowerpc32 | ( | ) |
Common calling conventions for PowerPC-32.
const Dictionary& Rose::BinaryAnalysis::CallingConvention::dictionaryPowerpc64 | ( | ) |
Common calling conventions for PowerPC-64.
const Dictionary& Rose::BinaryAnalysis::CallingConvention::dictionaryX86 | ( | ) |
Common calling conventions for 32-bit x86.
Sawyer::Message::Facility Rose::BinaryAnalysis::CallingConvention::mlog |
Facility for diagnostic output.
The facility can be controlled directly or via ROSE's command-line.