Go to the documentation of this file.
55 using ReferenceManager::SectionKey;
56 using ReferenceManager::SectionOffsetKey;
57 using ReferenceManager::SafePointer;
102 codeASpace_(NULL), dataASpace_(NULL) {
271 textRelocSection->
setLink(symbolTable);
276 dataRelocSection->
setLink(symbolTable);
static const Word INT_REGISTERS
Number of integer registers.
static const Word BOOL_REGISTERS
Number of Boolean registers.
unsigned int readPosition()
static const Byte FILE_HEADER_SIZE
Size of file header.
static const Byte AOUT_INSTRUCTION_SIZE
Size of one instruction in a.out file.
void setReadPosition(unsigned int position)
static ResourceSection * resourceTable_
void setAlign(Byte aAlign)
@ FA_TTA_TUT
New TTA template.
virtual void setDataLength(Word length)
static CodeSection * textSection_
void addSection(Section *section)
ASpaceElement * codeASpace_
Address space of text section.
void setType(FileType type)
static const char * AOUT_CODE_ASPACE_NAME
Name of universal machines code address space.
static const Byte AOUT_BITS_PER_MAU
Minimum addressable word of address space.
static void addObjectReference(SectionIndexKey key, const SafePointable *obj)
#define assert(condition)
static const Byte AOUT_WORD_ALIGN
Aligment of address space.
@ ST_UDATA
Uninitialized data section.
void readHeader(BinaryStream &stream) const
virtual void addElement(SectionElement *element)
static const Word FIRST_BOOL_REGISTER
Index of the first Boolean register.
void addOrDeleteSection(Section *section, Binary *binary) const
void setWordSize(Byte aWordSize)
@ ST_DATA
Initialized data section.
static Section * createSection(SectionType type)
static Header header_
Header of a.out file.
Chunk * string2Chunk(const std::string &str)
Word FileOffset
Type for storing absolute file offsets.
virtual bool isMyStreamType(BinaryStream &stream) const
static DebugSection * debugSection_
static StringSection * stringSection_
static const char * AOUT_DATA_ASPACE_NAME
Name of universal machines data address space.
void setName(const ReferenceManager::SafePointer *sectionName)
void setStartingAddress(AddressImage address)
@ ST_UDATA
Uninitialized data section.
Word SectionOffset
Type for storing offsets relative to a given base offset value.
static const Word FP_REGISTERS
Number of floating-point registers.
void setASpace(const ReferenceManager::SafePointer *addrSpace)
static const Word FIRST_FU_REGISTER
Index of the first function unit register.
virtual Binary * readData(BinaryStream &stream) const
ASpaceElement * undefASpace_
Undefined address space.
void readSection(BinaryStream &stream, FileOffset startPosition, Section *section, Length length) const
@ ST_RELOC
Relocation section.
void setLink(const ReferenceManager::SafePointer *aLink)
void setName(const ReferenceManager::SafePointer *aName)
void setUndefinedASpace(ASpaceElement *aSpace)
static const HalfWord OMAGIC
Move a.out format identifier.
virtual Word length() const
void setReferencedSection(Section *section)
unsigned int sizeOfFile()
@ ST_MR
Machine resources section.
static const Word FIRST_FP_REGISTER
Index of the first floating-point register.
static const Byte AOUT_WORD_SIZE
Word size of address space.
static AOutReader * proto_
Prototype instance of AOutReader registered into BinaryReader.
void setStrings(StringSection *strTable)
static NullSection * nullSection_
static const Word FIRST_INT_REGISTER
Index of the first integer register in a.out.
@ FT_OBJSEQ
Sequential TTA object code.
@ ST_ADDRSP
Address space section.
ASpaceElement * dataASpace_
Address space of data sections.
void setArch(FileArchitecture arch)
static void registerBinaryReader(BinaryReader *reader)