RetroLinker
Linker for several 8-bit, 16-bit and 32-bit formats
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
ELF::ELFFormat::Section Class Reference

Public Types

enum  section_type {
  SHT_NULL = 0 , SHT_PROGBITS = 1 , SHT_SYMTAB = 2 , SHT_STRTAB = 3 ,
  SHT_RELA = 4 , SHT_HASH = 5 , SHT_DYNAMIC = 6 , SHT_NOTE = 7 ,
  SHT_NOBITS = 8 , SHT_REL = 9 , SHT_SHLIB = 10 , SHT_DYNSYM = 11 ,
  SHT_INIT_ARRAY = 14 , SHT_FINI_ARRAY = 15 , SHT_PREINIT_ARRAY = 16 , SHT_GROUP = 17 ,
  SHT_SYMTAB_SHNDX = 18 , SHT_OS = 0x60000001 , SHT_IMPORTS = 0x60000002 , SHT_EXPORTS = 0x60000003 ,
  SHT_RES = 0x60000004 , SHT_OLD_OS = 12 , SHT_OLD_IMPORTS = 13 , SHT_OLD_EXPORTS = 14 ,
  SHT_OLD_RES = 15 , SHT_GNU_INCREMENTAL_INPUTS = 0x6FFF4700 , SHT_GNU_ATTRIBUTES = 0x6FFFFFF5 , SHT_GNU_HASH = 0x6FFFFFF6 ,
  SHT_GNU_LIBLIST = 0x6FFFFFF7 , SHT_SUNW_verdef = 0x6FFFFFFD , SHT_SUNW_verneed = 0x6FFFFFFE , SHT_SUNW_versym = 0x6FFFFFFF
}
 

Public Member Functions

std::shared_ptr< Linker::Section > GetSection ()
 
const std::shared_ptr< Linker::Section > GetSection () const
 
std::shared_ptr< SymbolTable > GetSymbolTable ()
 
const std::shared_ptr< SymbolTable > GetSymbolTable () const
 
std::shared_ptr< Array > GetArray ()
 
std::shared_ptr< Relocations > GetRelocations ()
 
const std::shared_ptr< Relocations > GetRelocations () const
 
std::shared_ptr< DynamicSection > GetDynamicSection ()
 
std::shared_ptr< IBMImportTable > GetIBMImportTable ()
 
std::shared_ptr< IBMExportTable > GetIBMExportTable ()
 
bool GetFileSize () const
 
void Dump (Dumper::Dumper &dump, const ELFFormat &fmt, unsigned index) const
 

Static Public Member Functions

static std::shared_ptr< Linker::Section > ReadProgBits (const std::shared_ptr< Linker::Reader > &rd, offset_t file_offset, const std::string &name, offset_t size)
 
static std::shared_ptr< Linker::Section > ReadNoBits (const std::string &name, offset_t size)
 
static std::shared_ptr< SymbolTable > ReadSymbolTable (const std::shared_ptr< Linker::Reader > &rd, offset_t file_offset, offset_t section_size, offset_t entsize, uint32_t section_link, size_t wordbytes)
 
static std::shared_ptr< Relocations > ReadRelocations (const std::shared_ptr< Linker::Reader > &rd, Section::section_type type, offset_t file_offset, offset_t section_size, offset_t entsize, uint32_t section_link, uint32_t section_info, size_t wordbytes)
 
static std::shared_ptr< StringTable > ReadStringTable (const std::shared_ptr< Linker::Reader > &rd, offset_t file_offset, offset_t section_size)
 
static std::shared_ptr< Array > ReadArray (const std::shared_ptr< Linker::Reader > &rd, offset_t file_offset, offset_t section_size, offset_t entsize)
 
static std::shared_ptr< SectionGroup > ReadSectionGroup (const std::shared_ptr< Linker::Reader > &rd, offset_t file_offset, offset_t section_size, offset_t entsize)
 
static std::shared_ptr< IndexArray > ReadIndexArray (const std::shared_ptr< Linker::Reader > &rd, offset_t file_offset, offset_t section_size, offset_t entsize)
 
static std::shared_ptr< HashTable > ReadHashTable (const std::shared_ptr< Linker::Reader > &rd, offset_t file_offset)
 
static std::shared_ptr< DynamicSection > ReadDynamic (const std::shared_ptr< Linker::Reader > &rd, offset_t file_offset, offset_t section_size, offset_t entsize, size_t wordbytes)
 
static std::shared_ptr< NotesSection > ReadNote (const std::shared_ptr< Linker::Reader > &rd, offset_t file_offset, offset_t section_size)
 
static std::shared_ptr< VersionRequirements > ReadVersionRequirements (const std::shared_ptr< Linker::Reader > &rd, offset_t file_offset, offset_t section_link, offset_t section_info)
 
static std::shared_ptr< IBMSystemInfo > ReadIBMSystemInfo (const std::shared_ptr< Linker::Reader > &rd, offset_t file_offset)
 
static std::shared_ptr< IBMImportTable > ReadIBMImportTable (const std::shared_ptr< Linker::Reader > &rd, offset_t file_offset, offset_t section_size, offset_t entsize)
 
static std::shared_ptr< IBMExportTable > ReadIBMExportTable (const std::shared_ptr< Linker::Reader > &rd, offset_t file_offset, offset_t section_size, offset_t entsize)
 
static std::shared_ptr< IBMResourceCollection > ReadIBMResourceCollection (const std::shared_ptr< Linker::Reader > &rd, offset_t file_offset)
 

Public Attributes

uint32_t name_offset = 0
 
std::string name
 
section_type type = SHT_NULL
 
uint32_t link = 0
 
uint32_t info = 0
 
offset_t flags = 0
 
offset_t address = 0
 
offset_t file_offset = 0
 
offset_t size = 0
 
offset_t align = 0
 
offset_t entsize = 0
 
std::shared_ptr< Linker::Contents > contents
 

The documentation for this class was generated from the following files: