ROSE  0.11.2.0
ModulesPowerpc.h
1 #ifndef ROSE_Partitioner2_ModulesPowerpc_H
2 #define ROSE_Partitioner2_ModulesPowerpc_H
3 
4 #include <Partitioner2/Modules.h>
5 #ifdef ROSE_BUILD_BINARY_ANALYSIS_SUPPORT
6 
7 #include <boost/logic/tribool.hpp>
8 
9 namespace Rose {
10 namespace BinaryAnalysis {
11 namespace Partitioner2 {
12 
14 namespace ModulesPowerpc {
15 
17 class MatchStwuPrologue: public FunctionPrologueMatcher {
18 protected:
19  Function::Ptr function_;
20 public:
21  static Ptr instance() { return Ptr(new MatchStwuPrologue); }
22  virtual std::vector<Function::Ptr> functions() const ROSE_OVERRIDE;
23  virtual bool match(const Partitioner&, rose_addr_t anchor) ROSE_OVERRIDE;
24 };
25 
30 Sawyer::Optional<rose_addr_t>
31 matchElfDynamicStub(const Partitioner&, const Function::Ptr&, const AddressIntervalSet &pltAddresses);
32 
34 void nameImportThunks(const Partitioner&, SgAsmInterpretation*);
35 
39 boost::logic::tribool isFunctionReturn(const Partitioner&, const BasicBlock::Ptr&);
40 
41 } // namespace
42 } // namespace
43 } // namespace
44 } // namespace
45 
46 #endif
47 #endif
Sawyer::SharedPointer< Node > Ptr
Shared-ownership pointer to an expression Node.
Main namespace for the ROSE library.
Name space for the entire library.
FunctionPtr Ptr
Shared-ownership pointer for function.
Definition: Function.h:52
Represents an interpretation of a binary container.