Public Member Functions | Static Public Member Functions | List of all members
Rose::BinaryAnalysis::Partitioner2::ModulesLinux::LibcStartMain Class Reference


Basic block callback to add "main" address as a function.

If the last instruction of a basic block is a call to __libc_start_main in a shared library, then one of its arguments is the address of the C "main" function.

Definition at line 39 of file ModulesLinux.h.

#include <ModulesLinux.h>

Inheritance diagram for Rose::BinaryAnalysis::Partitioner2::ModulesLinux::LibcStartMain:
Inheritance graph
Collaboration diagram for Rose::BinaryAnalysis::Partitioner2::ModulesLinux::LibcStartMain:
Collaboration graph

Public Member Functions

virtual bool operator() (bool chain, const Args &) ROSE_OVERRIDE
 Callback method. More...
- Public Member Functions inherited from Sawyer::SharedObject
 SharedObject ()
 Default constructor. More...
 SharedObject (const SharedObject &)
 Copy constructor. More...
virtual ~SharedObject ()
 Virtual destructor. More...
SharedObjectoperator= (const SharedObject &)
 Assignment. More...

Static Public Member Functions

static Ptr instance ()
 Allocating constructor. More...

Additional Inherited Members

- Public Types inherited from Rose::BinaryAnalysis::Partitioner2::BasicBlockCallback
enum  Termination {
 Whether to terminate a basic block. More...
typedef Sawyer::SharedPointer< BasicBlockCallbackPtr
 Shared-ownership pointer to a BasicBlockCallback. More...

Member Function Documentation

static Ptr Rose::BinaryAnalysis::Partitioner2::ModulesLinux::LibcStartMain::instance ( )

Allocating constructor.

Definition at line 41 of file ModulesLinux.h.

virtual bool Rose::BinaryAnalysis::Partitioner2::ModulesLinux::LibcStartMain::operator() ( bool  chain,
const Args  

Callback method.

This is the method invoked for the callback. The chain argument is the return value from the previous callback in the list (true for the first callback). The successor callbacks use chain to indicate whether subsequent callbacks should do anything.

Implements Rose::BinaryAnalysis::Partitioner2::BasicBlockCallback.

The documentation for this class was generated from the following file: