|
|
1.1 ! root 1: .TH MLD 9.1 ! 2: .SH NAME ! 3: mld \- MC68000 link editor (loader) ! 4: .SH SYNOPSIS ! 5: .B mld ! 6: [ option ] ... file ... ! 7: .SH DESCRIPTION ! 8: .I Mld ! 9: combines several Motorola 68000 ! 10: object programs into one, resolves external ! 11: references, and searches libraries. ! 12: In the simplest case several object ! 13: .I files ! 14: are given, and ! 15: .I mld ! 16: combines them, producing ! 17: an object module which can be either executed or ! 18: become the input for a further ! 19: .I mld ! 20: run. ! 21: (In the latter case, the ! 22: .B \-r ! 23: option must be given ! 24: to preserve the relocation bits.) ! 25: The output of ! 26: .I mld ! 27: is left on ! 28: .BR a.out . ! 29: This file is made executable ! 30: only if no errors occurred during the load. ! 31: .PP ! 32: The argument routines are concatenated in the order ! 33: specified. ! 34: The entry point of the output is the ! 35: beginning of the first routine. ! 36: .PP ! 37: A library is a collection of object modules gathered into ! 38: a file by ! 39: .I ar (1). ! 40: If any argument is a library, it is searched exactly once ! 41: at the point it is encountered in the argument list. ! 42: Only those routines defining an unresolved external ! 43: reference are loaded. ! 44: If a routine from a library ! 45: references another routine in the library, ! 46: the referenced routine must appear after the ! 47: referencing routine in the library. ! 48: Thus the order of programs within libraries ! 49: may be important. ! 50: .PP ! 51: The symbols `etext', `edata' and `end' ! 52: are reserved, and if referred to, ! 53: are set to the first location above the program, ! 54: the first location above initialized data, ! 55: and the first location above all data respectively. ! 56: It is erroneous to define these symbols. ! 57: .PP ! 58: .I Mld ! 59: understands several options. ! 60: Except for ! 61: .BR \-l , ! 62: they should appear before the file names. ! 63: .TP ! 64: .BI \-b ! 65: relocate the program so its ! 66: first instruction is at the absolute position indicated by the ! 67: decimal ! 68: .I address ! 69: after the ! 70: .B \-b ! 71: option. ! 72: .TP ! 73: .B \-B ! 74: Similar to ! 75: .BR \-b , ! 76: but only set the base address for the BSS segment. ! 77: This option is usually used in conjunction with ! 78: .B \-b ! 79: when loading programs to run from ROM. ! 80: .TP ! 81: .B \-d ! 82: Force definition of common storage ! 83: even if the ! 84: .B \-r ! 85: flag is present. ! 86: .TP ! 87: .BI \-l x ! 88: This ! 89: option is an abbreviation for the library name ! 90: .RI `/usr/lib/lib x .a', ! 91: where ! 92: .I x ! 93: is a string. ! 94: If that does not exist, ! 95: .I mld ! 96: tries ! 97: .RI `/usr/jerq/lib/lib x .a' ! 98: A library is searched when its name is encountered, ! 99: so the placement of a ! 100: .B \-l ! 101: is significant. ! 102: .TP ! 103: .B \-o ! 104: The ! 105: .I name ! 106: argument after ! 107: .B \-o ! 108: is used as the name of the ! 109: .I mld ! 110: output file, instead of ! 111: .BR a.out . ! 112: .TP ! 113: .B \-r ! 114: Generate relocation bits in the output file ! 115: so that it can be the subject of another ! 116: .I mld ! 117: run. ! 118: This flag also prevents final definitions from being ! 119: given to common symbols, ! 120: and suppresses the `undefined symbol' diagnostics. ! 121: .TP ! 122: .B \-s ! 123: Remove the symbol table and relocation symbols to ! 124: save space in the resulting binary. ! 125: .TP ! 126: .B \-R ! 127: Similar to ! 128: .BR \-r , ! 129: but flag an error if there are undefined symbols. ! 130: .TP ! 131: .B \-M ! 132: Set the resulting a.out's magic number to 0406, ! 133: to signify a binary runnable under ! 134: .IR mpx (1). ! 135: .TP ! 136: .B \-v ! 137: Generate copious debugging information on standard output. ! 138: .SH FILES ! 139: .ta \w'/usr/jerq/lib/lib*.a\ \ 'u ! 140: /usr/jerq/lib/lib*.a libraries ! 141: .br ! 142: /usr/lib/lib*.a more libraries ! 143: .br ! 144: a.out output file ! 145: .SH "SEE ALSO" ! 146: ld(1), mcc(1), ar(1)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.