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