unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



a.out(4)							     a.out(4)



NAME
  a.out	- Assembler and	link editor output

SYNOPSIS

  #include <&lt;a.out.h>&gt;

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 pro-
  vide 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