Go to the documentation of this file.
36 #ifndef TTA_AOUT_READER_HH
37 #define TTA_AOUT_READER_HH
47 class ResourceSection;
static const Word INT_REGISTERS
Number of integer registers.
static const Word BOOL_REGISTERS
Number of Boolean registers.
static const Byte FILE_HEADER_SIZE
Size of file header.
@ N_EXT
Mask bit for external.
static const Byte AOUT_INSTRUCTION_SIZE
Size of one instruction in a.out file.
@ N_PRTAB
TCE processors resource entry.
static ResourceSection * resourceTable_
NullSection * nullSection() const
@ N_MAIN
Name of main rutine.
static CodeSection * textSection_
CodeSection * textSection() const
ASpaceElement * codeASpace_
Address space of text section.
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.
AddressImage addressOfElement(SectionElement *elem) const
DebugSection * debugSection() const
@ N_SCOPE
Scope information.
static const Byte AOUT_WORD_ALIGN
Aligment of address space.
@ ST_UDATA
Uninitialized data section.
void readHeader(BinaryStream &stream) const
static const Word FIRST_BOOL_REGISTER
Index of the first Boolean register.
@ N_ANN
TCE annotation entry.
void addOrDeleteSection(Section *section, Binary *binary) const
static Header header_
Header of a.out file.
ResourceSection * resourceTable() const
Word FileOffset
Type for storing absolute file offsets.
virtual bool isMyStreamType(BinaryStream &stream) const
@ N_COMM
Common (internal to ld).
@ N_EXCL
Excluded include file.
static DebugSection * debugSection_
static StringSection * stringSection_
@ N_PC
Global pascal symbol.
ASpaceElement * aSpaceOfElement(SectionElement *elem) const
static const char * AOUT_DATA_ASPACE_NAME
Name of universal machines data address space.
UInt32 AddressImage
Type for storing addresses to memory image.
AOutReader & operator=(const AOutReader &)
Assignment not allowed.
@ N_EINCL
End of include file.
StringSection * stringSection() const
Word SectionOffset
Type for storing offsets relative to a given base offset value.
static const Header & header()
@ ST_UNDEF
Undefined section.
static const Word FP_REGISTERS
Number of floating-point registers.
@ N_STAB
Mask for stabs.
static const Word FIRST_FU_REGISTER
Index of the first function unit register.
SectionOffset sectionOffsetOfAddress(AddressImage address) const
virtual Binary * readData(BinaryStream &stream) const
ASpaceElement * undefASpace_
Undefined address space.
void readSection(BinaryStream &stream, FileOffset startPosition, Section *section, Length length) const
@ N_M2C
Compilation unit symbol table entry.
@ N_FNAME
Procedure name (f77).
@ N_SOL
#included file name.
@ N_BROWS
Sun source code browser.
static const HalfWord OMAGIC
Move a.out format identifier.
@ N_LENG
Second symbol table entry with length.
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.
static NullSection * nullSection_
static const Word FIRST_INT_REGISTER
Index of the first integer register in a.out.
static BinaryReader * instance()
@ N_ECOML
End common (local name).
ASpaceElement * dataASpace_
Address space of data sections.
@ N_TYPE
Mask bits for resolving symbol type.