56using ReferenceManager::SafePointer;
57using ReferenceManager::SectionKey;
58using ReferenceManager::SectionOffsetKey;
59using ReferenceManager::FileOffsetKey;
121 bool locationOfRelocationMustBeSet =
false;
122 assert(locationOfRelocationMustBeSet);
126 if (rElem->
symbol() != NULL) {
130 bool symbolFieldOfRelocationMustBeSet =
false;
131 assert(symbolFieldOfRelocationMustBeSet);
143 rType = rType |
static_cast<Byte>(rElem->
type());
184 dynamic_cast<const RelocSection*
>(sect)->referencedSection();
#define assert(condition)
void writeByte(Byte byte)
void writeHalfWord(HalfWord halfword)
unsigned int writePosition()
static void addObjectReference(SectionIndexKey key, const SafePointable *obj)
ASpaceElement * aSpace() const
SymbolElement * symbol() const
SectionElement * location() const
static void setSize(const SafePointable *obj, Word size)
static void registerSectionWriter(const SectionWriter *sWriter)
@ ST_RELOC
Relocation section.
SectionElement * element(Word index) const
Word elementCount() const
virtual void writeInfo(BinaryStream &stream, const Section *sect) const
virtual ~TPEFRelocSectionWriter()
virtual void actualWriteData(BinaryStream &stream, const Section *section) const
static const Word elementSize_
The fixed size of reloc element.
static const TPEFRelocSectionWriter instance_
An unique instance of class.
virtual Section::SectionType type() const
virtual Word elementSize(const Section *section) const
Word FileOffset
Type for storing absolute file offsets.