|
OpenASIP 2.2
|
#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. | |
| 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. | |
| SymbolBinding | bind_ |
| Binding of the symbol. | |
| const ReferenceManager::SafePointer * | name_ |
| The name of the symbol. | |
| const ReferenceManager::SafePointer * | section_ |
| Section to which the symbol belongs. | |
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 | ( | ) |
Constructor.
Definition at line 46 of file SymbolElement.cc.
|
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(), LabelManager::finalize(), TPEF::AOutSymbolSectionReader::finalize(), TPEF::AOutSymbolSectionReader::initializeSymbol(), TPEF::AOutSymbolSectionReader::readData(), TPEF::TPEFSymbolSectionReader::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(), LabelManager::finalize(), TPEF::AOutSymbolSectionReader::finalize(), TPEF::AOutSymbolSectionReader::initializeSymbol(), TPEF::AOutSymbolSectionReader::readData(), TPEF::TPEFSymbolSectionReader::readData(), and LabelManager::writeProcedureSymbols().
|
pure virtual |
Returns type of symbol.
Implemented in TPEF::CodeSymElement, TPEF::DataSymElement, TPEF::FileSymElement, TPEF::NoTypeSymElement, TPEF::ProcedSymElement, and TPEF::SectionSymElement.
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.