Annotation of researchv10dc/dist/man/v3/man5/a.out.5, revision 1.1

1.1     ! root        1: .pa 1
        !             2: .he 'A.OUT (V)'3/15/72'A.OUT (V)'
        !             3: .ti 0
        !             4: .nf
        !             5: NAME           a.out  --   assembler and link editor output
        !             6: .fi
        !             7: .sp
        !             8: .ti 0
        !             9: DESCRIPTION
        !            10: .br
        !            11: .in 8
        !            12: a.out_____
        !            13: is the output file of the assembler as__ and the link editor ld__.
        !            14: In both cases, a.out_____ may be executed provided there
        !            15: were no errors and no unresolved external references.
        !            16: .sp
        !            17: This file has four sections:
        !            18: a header, the program and data text, a symbol table, and relocation bits
        !            19: (in that order).
        !            20: The last two may be empty
        !            21: if the program was loaded
        !            22: with the "-s" option
        !            23: of ld__ or if the symbols and relocation have been
        !            24: removed by strip_____.
        !            25: 
        !            26: The header always contains 8 words:
        !            27: 
        !            28: .in +6
        !            29: .ti -3
        !            30: 1  A magic number (407(8))
        !            31: .ti -3
        !            32: 2  The size of the program text segment
        !            33: .ti -3
        !            34: 3  The size of the initialized data segment
        !            35: .ti -3
        !            36: 4  The size of the uninitialized (bss) segment
        !            37: .ti -3
        !            38: 5  The size of the symbol table
        !            39: .ti -3
        !            40: 6  The entry location (always 0 at present)
        !            41: .ti -3
        !            42: 7  The stack size required (0 at present)
        !            43: .ti -3
        !            44: 8  A flag indicating relocation bits have been suppressed
        !            45: 
        !            46: .in -6
        !            47: The sizes of each segment are in bytes but are even.
        !            48: The size of the header is not included in any of the other sizes.
        !            49: 
        !            50: When a file produced by the assembler or loader is
        !            51: loaded into core for execution, three segments are
        !            52: set up: the text segment, the data segment,
        !            53: and the bss (uninitialized data) segment,
        !            54: in that order.
        !            55: The text segment begins at the lowest
        !            56: location in the core image; the header is not loaded.
        !            57: The data segment begins immediately after the text
        !            58: segment, and the bss segment immediately after
        !            59: the data segment.
        !            60: The bss segment is initialized by 0's.
        !            61: In the future the text segment will be write-protected
        !            62: and shared.
        !            63: 
        !            64: The start of the text segment in the file is 20(8);
        !            65: the start of the data segment is 20+S9t8 (the size of the text)
        !            66: the start of the relocation information is 20+S9t8+S9d8;
        !            67: the start of the symbol table is 20+2(S9t8+S9d8) if the
        !            68: relocation information is present, 20+S9t8+S9d8 if not.
        !            69: 
        !            70: The symbol table consists of 6-word entries.  The first
        !            71: four contain the ASCII name of the symbol, null-padded.
        !            72: The next word is a flag indicating the type of symbol.
        !            73: The following values are possible:
        !            74: 
        !            75:    00  undefined symbol
        !            76:    01  absolute symbol
        !            77:    02  text segment symbol
        !            78:    03  data segment symbol
        !            79:    04  bss segment symbol
        !            80:    40  undefined external (.globl) symbol
        !            81:    41  absolute external symbol
        !            82:    42  text segment external symbol
        !            83:    43  data segment external symbol
        !            84:    44  bss segment external symbol
        !            85: 
        !            86: Values other than those given above may
        !            87: occur if the user has defined some of his own instructions.
        !            88: 
        !            89: The last word of a symbol table entry contains the value of the symbol.
        !            90: 
        !            91: If the symbol's type is undefined external,
        !            92: and the value field is non-zero,
        !            93: the symbol is interpreted by the loader ld__ as
        !            94: the name of a common region
        !            95: whose size is indicated by the value of the
        !            96: symbol.
        !            97: 
        !            98: The value of a word in the text or data portions which is not
        !            99: a reference to an undefined external symbol
        !           100: is exactly that value which will appear in core
        !           101: when the file is executed.
        !           102: If a word in the text or data portion
        !           103: involves a reference to an undefined external symbol,
        !           104: as indicated by the relocation bits
        !           105: for that word,
        !           106: then the value of the word as stored in the file
        !           107: is an offset from the associated external symbol.
        !           108: When the file is processed by the
        !           109: link editor and the external symbol becomes
        !           110: defined, the value of the symbol will
        !           111: be added into the word in the file.
        !           112: 
        !           113: If relocation
        !           114: information is present, it amounts to one word per
        !           115: word of program text or initialized data.
        !           116: There is no relocation information if the "suppress relocation"
        !           117: flag in the header is on.
        !           118: 
        !           119: Bits 3-1 of a relocation word indicate the segment referred
        !           120: to by the text or data word associated with the relocation
        !           121: word:
        !           122: 
        !           123: .in +6
        !           124: .ti -4
        !           125: 00  indicates the reference is absolute
        !           126: .ti -4
        !           127: 02  indicates the reference is to the text segment
        !           128: .ti -4
        !           129: 04  indicates the reference is to the data segment
        !           130: .ti -4
        !           131: 06  indicates the reference is to the bss segment
        !           132: .ti -4
        !           133: 10  indicates the reference is to an undefined external symbol.
        !           134: 
        !           135: .in -6
        !           136: Bit 0 of the relocation word indicates if on__ that the
        !           137: reference is relative to the pc (e.g. "clr x");
        !           138: if off___, the reference is to the actual symbol (e.g.,
        !           139: "clr *$x").
        !           140: 
        !           141: The remainder of the relocation word (bits 15-4)
        !           142: contains a symbol number in the case of external
        !           143: references, and is unused otherwise.
        !           144: The first symbol is numbered 0, the second 1, etc.
        !           145: .sp
        !           146: .in 16
        !           147: .ti 0
        !           148: SEE ALSO       as__,
        !           149: .ul
        !           150: ld, strip, nm, un(I)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.