RTEMS Linker  0.0.1
RTEMS Tools Project
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
rld::elf Namespace Reference

Classes

class  relocation
 
class  section
 
class  program_header
 
class  file
 

Typedefs

typedef ::GElf_Half elf_half
 
typedef ::GElf_Word elf_word
 
typedef ::GElf_Xword elf_xword
 
typedef ::GElf_Sxword elf_sxword
 
typedef ::Elf_Type elf_type
 
typedef ::GElf_Addr elf_addr
 
typedef ::GElf_Off elf_off
 
typedef ::GElf_Sym elf_sym
 
typedef ::Elf_Kind elf_kind
 
typedef ::Elf_Scn elf_scn
 
typedef ::GElf_Ehdr elf_ehdr
 
typedef ::GElf_Shdr elf_shdr
 
typedef ::GElf_Phdr elf_phdr
 
typedef ::Elf_Data elf_data
 
typedef ::GElf_Rel elf_rel
 
typedef ::GElf_Rela elf_rela
 
typedef ::Elf elf
 
typedef std::vector< relocationrelocations
 
typedef std::list< section * > sections
 
typedef std::map< std::string,
section
section_table
 
typedef std::list< program_headerprogram_headers
 

Functions

void libelf_error (const std::string &where)
 
const std::string machine_type (unsigned int machinetype)
 
const std::string machine_type ()
 
unsigned int object_class ()
 
unsigned int object_machine_type ()
 
unsigned int object_datatype ()
 
void check_file (const file &file)
 

Typedef Documentation

typedef ::Elf rld::elf::elf
typedef ::GElf_Addr rld::elf::elf_addr
typedef ::Elf_Data rld::elf::elf_data
typedef ::GElf_Ehdr rld::elf::elf_ehdr
typedef ::GElf_Half rld::elf::elf_half

Hide the types from libelf we use.

typedef ::Elf_Kind rld::elf::elf_kind
typedef ::GElf_Off rld::elf::elf_off
typedef ::GElf_Phdr rld::elf::elf_phdr
typedef ::GElf_Rel rld::elf::elf_rel
typedef ::GElf_Rela rld::elf::elf_rela
typedef ::Elf_Scn rld::elf::elf_scn
typedef ::GElf_Shdr rld::elf::elf_shdr
typedef ::GElf_Sxword rld::elf::elf_sxword
typedef ::GElf_Sym rld::elf::elf_sym
typedef ::Elf_Type rld::elf::elf_type
typedef ::GElf_Word rld::elf::elf_word
typedef ::GElf_Xword rld::elf::elf_xword

A container of program headers.

typedef std::vector< relocation > rld::elf::relocations

A container of relocation records.

typedef std::map< std::string, section > rld::elf::section_table

Container of ELF section as a map, ie associative array.

typedef std::list< section* > rld::elf::sections

Container of ELF section pointers.

Function Documentation

void rld::elf::check_file ( const file &  file)

Check the file against the global machine type, object class and data type. If this is the first file checked it becomes the default all others are checked against. This is a simple way to make sure all files are the same type.

Parameters
fileThe check to check.
void rld::elf::libelf_error ( const std::string &  where)

Throw an ELF error.

Parameters
whereWhere the error is raised.
const std::string rld::elf::machine_type ( unsigned int  machinetype)

Return the machine type label given the machine type.

Parameters
machinetypeThe ELF machine type.
const std::string rld::elf::machine_type ( )

Return the global machine type set by the check_file call as a string.

unsigned int rld::elf::object_class ( )

Return the global class set by the check_file call.

unsigned int rld::elf::object_datatype ( )

Return the global data type set by the check_file call.

unsigned int rld::elf::object_machine_type ( )

Return the global machine type set by the check_file call.