Annotation of researchv10dc/dist/man/v4/man1/ld.1, revision 1.1.1.1

1.1       root        1: .th LD I 8/16/73
                      2: .sh NAME
                      3: ld  \*-  link editor
                      4: .sh SYNOPSIS
                      5: .bd ld
                      6: [
                      7: .bd \*-sulxrnd
                      8: ] name ...
                      9: .sh DESCRIPTION
                     10: .it Ld
                     11: combines several
                     12: object programs into one; resolves external
                     13: references; and searches libraries.
                     14: In the simplest case the names of several object
                     15: programs are given, and
                     16: .it d
                     17: combines them, producing
                     18: an object module which can be either executed or
                     19: become the input for a further
                     20: .it ld
                     21: run.
                     22: (In the latter case, the
                     23: .bd \*-r
                     24: option must be given
                     25: to preserve the relocation bits.)
                     26: The output of
                     27: .it ld
                     28: is left on
                     29: .bd a.out.
                     30: This file is executable
                     31: only if no errors occurred during the load.
                     32: .s3
                     33: The argument routines are concatenated in the order
                     34: specified.  The entry point of the output is the
                     35: beginning of the first routine.
                     36: .s3
                     37: If any argument is a library, it is searched exactly once
                     38: at the point it is encountered in the argument list.
                     39: Only those routines defining an unresolved external
                     40: reference are loaded.
                     41: If a routine from a library
                     42: references another routine in the library,
                     43: the referenced routine must appear after the
                     44: referencing routine in the library.
                     45: Thus the order of programs within libraries
                     46: is important.
                     47: .s3
                     48: .it Ld
                     49: understands several flag arguments which are written
                     50: preceded by a `\*-'.
                     51: Except for \fB\*-l\fR,
                     52: they should appear before the file names.
                     53: .s3
                     54: .lp +4 4
                     55: \fB\*-s\fR     `squash' the output, that is, remove the symbol table
                     56: and relocation bits to save space (but impair the
                     57: usefulness of the debugger).
                     58: This information can also be removed by
                     59: .it strip.
                     60: .s3
                     61: .lp +4 4
                     62: \fB\*-u\fR     take the following argument as a symbol and enter
                     63: it as undefined in the symbol table.  This is useful
                     64: for loading wholly from a library, since initially the symbol
                     65: table is empty and an unresolved reference is needed
                     66: to force the loading of the first routine.
                     67: .s3
                     68: .lp +4 4
                     69: \fB\*-l\fR     This
                     70: option is an abbreviation for a library name.
                     71: \fB\*-l\fR
                     72: alone stands for `/lib/liba.a', which
                     73: is the standard system library for assembly language
                     74: programs.
                     75: \fB\*-l\fIx\fR
                     76: stands for `/lib/lib\fIx\fR.a' where \fIx\fR is any character.
                     77: There are libraries for Fortran (\fIx\fR = \fBf\fR),
                     78: and C (\fIx\fR = \fBc\fR).
                     79: A library is searched when its name is encountered,
                     80: so the placement of a \fB\*-l\fR
                     81: is significant.
                     82: .s3
                     83: .lp +4 4
                     84: \fB\*-x\fR     do not preserve local
                     85: (non-.globl) symbols in the output symbol table; only enter
                     86: external symbols.
                     87: This option saves some space in the output file.
                     88: .s3
                     89: .lp +4 4
                     90: \fB\*-r\fR     generate relocation bits in the output file
                     91: so that it can be the subject of another
                     92: .it ld
                     93: run.
                     94: This flag also prevents final definitions from being
                     95: given to common symbols.
                     96: .s3
                     97: .lp +4 4
                     98: \fB\*-d\fR     force definition of common storage
                     99: even if the
                    100: .bd \*-r
                    101: flag is present (used for reloc (VIII)).
                    102: .s3
                    103: .lp +4 4
                    104: \fB\*-n\fR     Arrange that
                    105: when the output file is executed,
                    106: the text portion will be read-only and shared
                    107: among all users executing the file.
                    108: This involves moving the data areas up the the first
                    109: possible 4K word boundary following the
                    110: end of the text.
                    111: .i0
                    112: .sh FILES
                    113: /lib/lib?.a   libraries
                    114: .br
                    115: a.out   output file
                    116: .sh "SEE ALSO"
                    117: as(I), ar(I)
                    118: .sh BUGS

unix.superglobalmegacorp.com

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