|
|
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.