1 #ifndef ROSE_BinaryAnalysis_BinaryLoaderElfObj_H
2 #define ROSE_BinaryAnalysis_BinaryLoaderElfObj_H
4 #include <featureTests.h>
5 #ifdef ROSE_ENABLE_BINARY_ANALYSIS
6 #include "BinaryLoaderElf.h"
49 rose_addr_t *malign_lo, rose_addr_t *malign_hi,
50 rose_addr_t *va, rose_addr_t *mem_size,
51 rose_addr_t *offset, rose_addr_t *file_size,
bool *map_private,
52 rose_addr_t *va_offset,
bool *anon_lo,
bool *anon_hi,
Contiguous region of a file.
A loader suitable for ELF object files.
virtual SgAsmGenericSectionPtrList getRemapSections(SgAsmGenericHeader *) ROSE_OVERRIDE
Returns mappable sections in a particular order.
Main namespace for the ROSE library.
Reference-counting intrusive smart pointer.
virtual bool canLoad(SgAsmGenericHeader *) const ROSE_OVERRIDE
Capability query.
virtual BinaryLoaderPtr clone() const ROSE_OVERRIDE
Copy constructor.
virtual MappingContribution alignValues(SgAsmGenericSection *, const MemoryMap::Ptr &, rose_addr_t *malign_lo, rose_addr_t *malign_hi, rose_addr_t *va, rose_addr_t *mem_size, rose_addr_t *offset, rose_addr_t *file_size, bool *map_private, rose_addr_t *va_offset, bool *anon_lo, bool *anon_hi, ConflictResolution *resolve) ROSE_OVERRIDE
Linux-specific ELF Segment and Section alignment.
An efficient mapping from an address space to stored data.
Sawyer::SharedPointer< class BinaryLoader > BinaryLoaderPtr
Reference counting pointer to BinaryLoader.
MappingContribution
Describes how a section contributes to the overall memory map.
ConflictResolution
Describes how conflicts are resolved when mapping a section.
Sawyer::SharedPointer< class BinaryLoaderElfObj > Ptr
Reference counting pointer to BinaryLoaderElfObj.
virtual unsigned mappingPermissions(SgAsmGenericSection *) const ROSE_OVERRIDE
MemoryMap permissions.
static Ptr instance()
Allocating constructor.
Sawyer::SharedPointer< class BinaryLoaderElfObj > BinaryLoaderElfObjPtr
Reference counting pointer to BinaryLoaderElfObj.