Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ a.out(4) — NEWS-os 5.0.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

as(1)

ld(1)

nm(1)

dbx(1)

strip(1)

filehdr(4)

scnhdr(4)

reloc(4)

syms(4)

linenum(4)



a.out(4)                  FILE FORMATS                   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  refer-
     ences.  The debugger uses the a.out file to provide symbolic
     information to the user.

     The MIPS compilers and operating systems use a  file  format
     that  is  similar  to  standard  AT&T  System V COFF (common
     object file format).  For more  information,  see  the  MIPS
     Assembly Language Programmer's Guide.

     The MIPS File Header definition is based on the AT&T  System
     V header file filehdr.h with the following changes (also see
     filehdr(4)):


          ⊕    The symbol table file pointer, f_symptr,  and  the
               number  of  symbol  table  entries,  f_nsyms,  now
               specify the file pointer and the size of the  Sym-
               bolic 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
     AT&T  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
     AT&T  System  V header file scnhdr.h, except the line number
     fields (s_lnnoptr and s_nlnno) are used for gp  tables  (see
     scnhdr(4)).

     The MIPS relocation information  definition  is  similar  to
     that  in  Berkeley  4.3 UNIX, which has ``local'' relocation
     types (see reloc(4)).  Also see the section entitled  ``Sec-
     tion  Relocation Information'' in the chapter 10 of the MIPS
     Assembly Language Programmer's Guide for the  most  detailed
     information.

     For more information about AT&T System V COFF, refer to  the
     AT&T UNIX System V Support Tools Guide.




                                                                1





a.out(4)                  FILE FORMATS                   a.out(4)



     The MIPS file format follows this scheme:


          ⊕    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  informa-
               tion 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  non-globals  or  fully
               stripped.

          ⊕    Procedure  Descriptor   Table-missing   if   fully
               stripped.

          ⊕    Local Symbols-missing if stripped  of  non-globals
               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  non-globals
               or if fully stripped.

          ⊕    External Strings-missing if fully stripped.

          ⊕    Relative File Descriptors-missing if  stripped  of
               non-globals or if fully stripped.

          ⊕    File  Descriptors-missing  if  stripped  of   non-
               globals or if fully stripped.




                                                                2





a.out(4)                  FILE FORMATS                   a.out(4)



          ⊕    External Symbols-missing is fully stripped.

SEE ALSO
     as(1),   ld(1),   nm(1),   dbx(1),   strip(1),   filehdr(4),
     scnhdr(4), reloc(4), syms(4), linenum(4).


















































                                                                3



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026