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