OpenASIP
2.0
|
#include <SymbolElement.hh>
Public Types | |
enum | SymbolBinding { STB_LOCAL = 0x0, STB_GLOBAL = 0x1, STB_WEAK = 0x2 } |
Binding types of symbol. More... | |
enum | SymbolType { STT_NOTYPE = 0x0, STT_DATA = 0x1, STT_CODE = 0x2, STT_SECTION = 0x3, STT_FILE = 0x4, STT_PROCEDURE = 0x5 } |
Type of symbol element. More... | |
Public Member Functions | |
SymbolElement () | |
virtual | ~SymbolElement () |
virtual SymbolType | type () const =0 |
Returns type of symbol. More... | |
bool | absolute () const |
void | setAbsolute (bool anAbsoluteness) |
SymbolBinding | binding () const |
void | setBinding (SymbolBinding aBinding) |
Chunk * | name () const |
void | setName (Chunk *aName) |
void | setName (const ReferenceManager::SafePointer *aName) |
Section * | section () const |
void | setSection (Section *aSect) |
void | setSection (const ReferenceManager::SafePointer *aSect) |
Public Member Functions inherited from TPEF::SectionElement | |
virtual | ~SectionElement () |
Public Member Functions inherited from TPEF::SafePointable | |
virtual | ~SafePointable () |
Private Attributes | |
bool | absolute_ |
Is symbol absolutely or relocating. More... | |
SymbolBinding | bind_ |
Binding of the symbol. More... | |
const ReferenceManager::SafePointer * | name_ |
The name of the symbol. More... | |
const ReferenceManager::SafePointer * | section_ |
Section to which the symbol belongs. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from TPEF::SectionElement | |
SectionElement () | |
Protected Member Functions inherited from TPEF::SafePointable | |
SafePointable () | |
Symbol table entry.
Definition at line 52 of file SymbolElement.hh.
Binding types of symbol.
Enumerator | |
---|---|
STB_LOCAL | Not visible outside the object file that contains it's definition. |
STB_GLOBAL | Visible to all files that are combined in TPEF file. |
STB_WEAK | Visible to all object files that are combined in the TPEF file, but with linkage priority lower than STB_GLOBAL symbols. |
Definition at line 55 of file SymbolElement.hh.
Type of symbol element.
Definition at line 66 of file SymbolElement.hh.
TPEF::SymbolElement::SymbolElement | ( | ) |
|
virtual |
bool TPEF::SymbolElement::absolute | ( | ) | const |
SymbolBinding TPEF::SymbolElement::binding | ( | ) | const |
Chunk* TPEF::SymbolElement::name | ( | ) | const |
Section* TPEF::SymbolElement::section | ( | ) | const |
void TPEF::SymbolElement::setAbsolute | ( | bool | anAbsoluteness | ) |
void TPEF::SymbolElement::setBinding | ( | SymbolBinding | aBinding | ) |
void TPEF::SymbolElement::setName | ( | Chunk * | aName | ) |
Referenced by TTAProgram::ProgramWriter::createBinary(), TPEF::AOutSymbolSectionReader::finalize(), LabelManager::finalize(), TPEF::AOutSymbolSectionReader::initializeSymbol(), TPEF::TPEFSymbolSectionReader::readData(), TPEF::AOutSymbolSectionReader::readData(), and LabelManager::writeProcedureSymbols().
void TPEF::SymbolElement::setName | ( | const ReferenceManager::SafePointer * | aName | ) |
void TPEF::SymbolElement::setSection | ( | const ReferenceManager::SafePointer * | aSect | ) |
void TPEF::SymbolElement::setSection | ( | Section * | aSect | ) |
Referenced by TTAProgram::ProgramWriter::createBinary(), TPEF::AOutSymbolSectionReader::finalize(), LabelManager::finalize(), TPEF::AOutSymbolSectionReader::initializeSymbol(), TPEF::TPEFSymbolSectionReader::readData(), TPEF::AOutSymbolSectionReader::readData(), and LabelManager::writeProcedureSymbols().
|
pure virtual |
Returns type of symbol.
Implemented in TPEF::CodeSymElement, TPEF::FileSymElement, TPEF::NoTypeSymElement, TPEF::ProcedSymElement, TPEF::SectionSymElement, and TPEF::DataSymElement.
Referenced by TPEF::TPEFSymbolSectionWriter::actualWriteData(), TTAProgram::TPEFProgramFactory::createLabels(), TPEF::AOutSymbolSectionReader::finalize(), TPEF::TPEFSymbolSectionReader::readData(), TPEFDumper::section(), and TPEF::TPEFSymbolSectionWriter::writeValueAndSize().
|
private |
Is symbol absolutely or relocating.
Definition at line 99 of file SymbolElement.hh.
|
private |
Binding of the symbol.
Definition at line 101 of file SymbolElement.hh.
|
private |
The name of the symbol.
Definition at line 103 of file SymbolElement.hh.
|
private |
Section to which the symbol belongs.
Definition at line 105 of file SymbolElement.hh.