00001 #ifndef ROSE_BINARYLOADERELFOBJ_H
00002 #define ROSE_BINARYLOADERELFOBJ_H
00003
00004 #include "BinaryLoaderElf.h"
00005
00010 class BinaryLoaderElfObj: public BinaryLoaderElf {
00011 public:
00012 BinaryLoaderElfObj() {}
00013
00014 BinaryLoaderElfObj(const BinaryLoaderElfObj &other)
00015 : BinaryLoaderElf(other)
00016 {}
00017
00018 virtual ~BinaryLoaderElfObj() {}
00019
00020
00021 virtual BinaryLoaderElfObj *clone() const {
00022 return new BinaryLoaderElfObj(*this);
00023 }
00024
00025 virtual bool can_load(SgAsmGenericHeader*) const;
00026
00028 virtual SgAsmGenericSectionPtrList get_remap_sections(SgAsmGenericHeader*);
00029
00031 virtual MappingContribution align_values(SgAsmGenericSection*, MemoryMap*,
00032 rose_addr_t *malign_lo, rose_addr_t *malign_hi,
00033 rose_addr_t *va, rose_addr_t *mem_size,
00034 rose_addr_t *offset, rose_addr_t *file_size, bool *map_private,
00035 rose_addr_t *va_offset, bool *anon_lo, bool *anon_hi,
00036 ConflictResolution *resolve);
00037 };
00038
00039 #endif