|
|
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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.