 |
Index for Section 4 |
|
 |
Alphabetical listing for A |
|
 |
Bottom of page |
|
a.out(4)
NAME
a.out - Assembler and link editor output
SYNOPSIS
#include <a.out.h>
DESCRIPTION
a.out is the output file format of the assembler as(1) and the link editor
ld(1). Both programs make a.out executable if there were no errors and no
unresolved external references. The debugger uses the a.out file to
provide symbolic information to the user.
The compilers and operating systems use a file format that is similar to
standard System V COFF (common object file format).
The File Header definition is based on the System V header file filehdr.h,
with the following changes:
· 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 has the same format as the System V header
file aouthdr.h (the ``standard'' (pre-COFF) UNIX system a.out header),
except that the following fields have been added: bss_start, gprmask,
cprmask, gp_value, and bldrev. (The bldrev field contains a number that
reflects the release level of the compiler or assembler that created the
executable.)
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
generally not used. Line number information is part of the symbol table.
The relocation information definition is similar to that in Berkeley 4.3BSD
UNIX, which has ``local'' relocation types.
The a.out file is organized 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),
as well as the shared library information.
· Section Relocation Information-includes information for text, read-
only data, large data, 8- and 4-byte literal pools, and small data.
· 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 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 fully stripped.
· External Strings-missing if fully stripped.
· Relative File Descriptors-missing if stripped of nonglobals or fully
stripped.
· File Descriptors-missing if stripped of nonglobals or fully stripped.
· External Symbols-missing if fully stripped.
RELATED INFORMATION
as(1), dbx(1), ld(1), nm(1), strip(1),
Object File/Symbol Table Format Specification
 |
Index for Section 4 |
|
 |
Alphabetical listing for A |
|
 |
Top of page |
|