ROSE 0.11.145.192
|
Basic block callback to detect system calls that don't return.
Examines the instructions of a basic block to determine if they end with a system call that doesn't return, such as Linux's "exit".
Definition at line 24 of file ModulesLinux.h.
#include <Rose/BinaryAnalysis/Partitioner2/ModulesLinux.h>
Public Member Functions | |
virtual bool | operator() (bool chain, const Args &) override |
Callback method. | |
Public Member Functions inherited from Sawyer::SharedObject | |
SharedObject () | |
Default constructor. | |
SharedObject (const SharedObject &) | |
Copy constructor. | |
virtual | ~SharedObject () |
Virtual destructor. | |
SharedObject & | operator= (const SharedObject &) |
Assignment. | |
Static Public Member Functions | |
static Ptr | instance (const PartitionerConstPtr &, const boost::filesystem::path &syscallHeader="") |
Allocating constructor. | |
Protected Member Functions | |
SyscallSuccessors (const PartitionerConstPtr &, const boost::filesystem::path &syscallHeader) | |
Additional Inherited Members | |
Public Types inherited from Rose::BinaryAnalysis::Partitioner2::BasicBlockCallback | |
enum | Termination { CONTINUE_DISCOVERY , TERMINATE_NOW , TERMINATE_PRIOR } |
Whether to terminate a basic block. More... | |
using | Ptr = BasicBlockCallbackPtr |
Shared-ownership pointer to a BasicBlockCallback. | |
|
static |
Allocating constructor.
An optional Linux system call header file can be provided to override the default.
|
overridevirtual |
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.