a.out(5) — RISC
Name
a.out − assembler and link editor output
Syntax
#include <a.out.h>
Description
The a.out file contains the output from the assembler, as, and the link editor, ld. If errors and unresolved references do not exist, both programs make a.out executable. When submitted to the debugger, the a.out file provides symbolic information.
The RISC compilers and ULTRIX compilers use a file format that is similar to standard AT&T System V COFF (common object file format).
The RISC File Header definition is based on the AT&T System V header file filehdr.h with the following changes (also see filehdr():)):
•The symbol table file pointer, f_symptr, and the number of symbol table entries, f_nsyms, specify the file pointer and the size of the Symbolic Header, respectively.
•All tables that specify symbolic information have their file pointers and number of entries in the Symbolic Header.
The Optional Header definition uses the same format as the System V header file, aouthdr.h, (the standard (pre-COFF) UNIX system a.out header) except the following fields have been added: bss_start, gprmask, cprmask, and gp_value.
The Section Header definition has the same format as the System V header file, scnhdr.h, except the line number fields (s_lnnoptr and s_nlnno) are used for gp tables (see scnhdr().)).
The RISC relocation information definition is similar to that in Berkeley 4.3 UNIX, which has local relocation types (see reloc().)).
The RISC file format is as follows:
•File Header
•Optional Header
•Section Headers
•Section Data — Includes text, read-only data, large data, 8- and 4-byte literal pools, small data, small bss (0 size), and large bss (0 size).
•Section Relocation Information — Includes information for text, read-only data, large data, 8- and 4-byte literal pools, and small data.
•Gp Tables — Missing if relocation information is not saved.
•Symbolic Header — Missing if fully stripped.
•Line Numbers — Created only if debugging is on and missing if stripped of nonglobals or fully stripped.
•Procedure Descriptor Table — Missing if fully stripped.
•Local Symbols — Missing if stripped of nonglobals or if fully stripped.
•Optimization Symbols — Created only if debugging is on and missing if stripped of nonglobals or fully stripped.
•Auxiliary Symbols — Created only if debugging is on and missing if stripped of nonglobals or fully stripped.
•Local Strings — Missing if stripped of nonglobals or if fully stripped.
•External Strings — Missing if fully stripped.
•Relative File Descriptors — Missing if stripped of nonglobals or if fully stripped.
•File Descriptors — Missing if stripped of nonglobals or if fully stripped.
•External Symbols — Missing if fully stripped.
See Also
as(1), ld(1), nm(1), dbx(1), strip(1), filehdr(5), scnhdr(5), reloc(5), syms(5), linenum(5).