Index Index for
Section 4
Index Alphabetical
listing for A
Bottom of page 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 Index for
Section 4
Index Alphabetical
listing for A
Top of page Top of
page