54using ReferenceManager::SafePointer;
55using ReferenceManager::SectionKey;
56using ReferenceManager::FileOffsetKey;
57using ReferenceManager::SectionIndexKey;
171 switch (elem->
type()) {
242 bool unknownSymbolType =
false;
243 assert(unknownSymbolType);
#define assert(condition)
void writeByte(Byte byte)
void writeHalfWord(HalfWord halfword)
unsigned int writePosition()
void writeWord(Word word)
SectionOffset offset() const
InstructionElement * reference() const
Chunk * reference() const
static void addObjectReference(SectionIndexKey key, const SafePointable *obj)
static SectionKey sectionKeyFor(const SafePointable *obj)
SectionId sectionId() const
static void setSize(const SafePointable *obj, Word size)
static void registerSectionWriter(const SectionWriter *sWriter)
SectionElement * element(Word index) const
Word elementCount() const
@ STT_PROCEDURE
Symbol gives indicates procedure start position in section.
@ STT_FILE
Name of symbol gives the name of source file associated with this object file.
@ STT_CODE
Associated with executable code.
@ STT_NOTYPE
Type is not defined.
@ STT_SECTION
Associated with section.
@ STT_DATA
Associated with data object.
virtual SymbolType type() const =0
Returns type of symbol.
Section * section() const
SymbolBinding binding() const
@ STB_LOCAL
Not visible outside the object file that contains it's definition.
virtual ~TPEFSymbolSectionWriter()
virtual void createKeys(const Section *sect) const
void writeValueAndSize(BinaryStream &stream, const SymbolElement *elem) const
virtual void actualWriteData(BinaryStream &stream, const Section *section) const
static const TPEFSymbolSectionWriter instance_
An unique instance of class.
static const Word elementSize_
The fixed size address space element.
TPEFSymbolSectionWriter()
virtual Section::SectionType type() const
virtual Word elementSize(const Section *section) const
HalfWord SectionId
Type for storing binary file section ids.
Word FileOffset
Type for storing absolute file offsets.