RTEMS Linker  0.0.1
RTEMS Tools Project
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
rld::symbols::symbol Class Reference

#include <rld-symbols.h>

Public Member Functions

 symbol ()
 
 symbol (int index, const std::string &name, files::object &object, const elf::elf_sym &esym)
 
 symbol (int index, const std::string &name, const elf::elf_sym &esym)
 
 symbol (const std::string &name, const elf::elf_addr value=0)
 
 symbol (const char *name, elf::elf_addr value=0)
 
int index () const
 
const std::string & name () const
 
const std::string & demangled () const
 
bool is_cplusplus () const
 
int type () const
 
int binding () const
 
int section_index () const
 
elf::elf_addr value () const
 
uint32_t info () const
 
files::objectobject () const
 
void set_object (files::object &obj)
 
const elf::elf_symesym () const
 
int references () const
 
void referenced ()
 
bool operator< (const symbol &rhs) const
 
void output (std::ostream &out) const
 

Detailed Description

A symbol.

Constructor & Destructor Documentation

rld::symbols::symbol::symbol ( )

Default constructor. No symbol has been defined.

rld::symbols::symbol::symbol ( int  index,
const std::string &  name,
files::object object,
const elf::elf_sym esym 
)

Construct an exported symbol with a object file.

rld::symbols::symbol::symbol ( int  index,
const std::string &  name,
const elf::elf_sym esym 
)

Construct a symbol with no object file and an ELF index.

rld::symbols::symbol::symbol ( const std::string &  name,
const elf::elf_addr  value = 0 
)

Construct a linker symbol that is internally created.

rld::symbols::symbol::symbol ( const char *  name,
elf::elf_addr  value = 0 
)

Construct a linker symbol that is internally created.

Member Function Documentation

int rld::symbols::symbol::binding ( ) const

The symbol's binding, ie local, weak, or global.

const std::string & rld::symbols::symbol::demangled ( ) const

The symbol's demangled name.

const elf::elf_sym & rld::symbols::symbol::esym ( ) const

The ELF symbol.

int rld::symbols::symbol::index ( ) const

The symbol's index in the symtab section of the ELF file.

uint32_t rld::symbols::symbol::info ( ) const

The data of the symbol.

bool rld::symbols::symbol::is_cplusplus ( ) const

Is the symbol a C++ name ?

const std::string & rld::symbols::symbol::name ( ) const

The symbol's name.

rld::files::object * rld::symbols::symbol::object ( ) const

The symbol's object file name.

bool rld::symbols::symbol::operator< ( const symbol rhs) const

Less than operator for the map container.

void rld::symbols::symbol::output ( std::ostream &  out) const

Output to the a stream.

void rld::symbols::symbol::referenced ( )

Return the number of references.

int rld::symbols::symbol::references ( ) const
inline

Return the number of references.

int rld::symbols::symbol::section_index ( ) const

The symbol's section index.

void rld::symbols::symbol::set_object ( files::object obj)

Set the symbol's object file name. Used when resolving unresolved symbols.

int rld::symbols::symbol::type ( ) const

The symbol's type.

elf::elf_addr rld::symbols::symbol::value ( ) const

The value of the symbol.


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