1#ifndef ROSE_BinaryAnalysis_BinaryLoaderElfObj_H
2#define ROSE_BinaryAnalysis_BinaryLoaderElfObj_H
3#include <featureTests.h>
4#ifdef ROSE_ENABLE_BINARY_ANALYSIS
5#include <Rose/BinaryAnalysis/BinaryLoaderElf.h>
8namespace BinaryAnalysis {
48 Address *va_offset,
bool *anon_lo,
bool *anon_hi,
A loader suitable for ELF object files.
static Ptr instance()
Allocating constructor.
virtual BinaryLoaderPtr clone() const override
Copy constructor.
virtual bool canLoad(SgAsmGenericHeader *) const override
Capability query.
virtual unsigned mappingPermissions(SgAsmGenericSection *) const override
MemoryMap permissions.
BinaryLoaderElfObjPtr Ptr
Reference counting pointer to BinaryLoaderElfObj.
virtual SgAsmGenericSectionPtrList getRemapSections(SgAsmGenericHeader *) override
Returns mappable sections in a particular order.
virtual MappingContribution alignValues(SgAsmGenericSection *, const MemoryMap::Ptr &, Address *malign_lo, Address *malign_hi, Address *va, Address *mem_size, Address *offset, Address *file_size, bool *map_private, Address *va_offset, bool *anon_lo, bool *anon_hi, ConflictResolution *resolve) override
Linux-specific ELF Segment and Section alignment.
MappingContribution
Describes how a section contributes to the overall memory map.
ConflictResolution
Describes how conflicts are resolved when mapping a section.
Reference-counting intrusive smart pointer.
Contiguous region of a file.
Sawyer::SharedPointer< BinaryLoaderElfObj > BinaryLoaderElfObjPtr
Reference counting pointer.
std::uint64_t Address
Address.
Sawyer::SharedPointer< BinaryLoader > BinaryLoaderPtr
Reference counting pointer.