1 08/07/86 linkage_editor, le
2
3
4 Syntax as a command: le paths -control arguments
5
6
7 Function: Joins a series of object segments together into a
8 single execution unit resolving external references to the
9 explicitly named segments or segments within the named libraries.
10
11
12 Arguments:
13
14 paths
15 specifications of the input binaries which are to be included
16 in the output binary. Valid formats for a path specification
17 are:
18
19
20 Archive
21 Library archives are unbound archives containing object
22 segments which may be used to resolve external references. To
23 specify a library archive, the ".archive" suffix must be
24 included in the name.
25 Directory
26 Library directories may be specified which contain loose
27 object segments to which external references may be resolved.
28 Any archives found in the directory will be expanded and all
29 the components included.
30
31
32 Pathname
33 Pathnames to specific segments or archive components may be
34 specified.
35 Starname
36 Starnames specifying groups of loose segments within a
37 directory may be specified, or an archive component starname
38 specifying a set of components within a particular archive. A
39 starname that includes archives will expand each archive.
40
41
42 Control arguments:
43
44 -abort_severity severity, -asv severity
45 specifies the error severity at which the execution should be
46 terminated and must be in the range 0 to 3. Severity 4 errors
47 are not recoverable and are terminated immediately. See the
48 notes below for a description of error severities. If no
49 abort severity is specified, a value of 3 is used. An abort
50 severity of 0 will generate the tables and attempt to resolve
51 links but will stop before generating any output.
52
53 -automatic_segnames, -asn
54 specifies that entrypoint names are to be automatically added
55 to the containing block as segnames so that a reference to the
56 entrypoint name alone will resolve to the correct block.
57 Default
58
59 -component_size pages, -compsz pages
60 specifies the maximum number of pages which a single component
61 of the output object should contain. This value is used to
62 determine at what point the transition is made from single
63 segment to MSF and the size of an individual MSF component.
64 If this control argument is not specified, a value of 255
65 pages is used.
66
67
68 -delete entrypoint, -dl entrypoint
69 deletes the named entrypoint from the output binary. If no
70 entrypoint name is given, all entrypoints will be deleted,
71 with the exception of the definition for "main_" and its
72 associated segnames, if present. This definition can be
73 removed with an explicit -delete main_ control argument.
74
75 -display_severity severity, -dsv severity
76 sets the display severity to the given value. The display
77 severity is the minimum severity error which will cause a
78 message to be displayed. Display severity must be in the
79 range from 1 to 5. The default value is 1.
80
81 -force, -fc
82 suppresses the query before overwriting a non-object segment
83 or an object segment created by a translator.
84
85
86 -library library_specification, -lb library_specification
87 specifies one or more object library routines which the
88 linkage editor will use to resolve external references. The
89 library specification is in the same form and is evaluated in
90 the same manner as the input path specification.
91
92 -list, -ls
93 create a listing specifying what segments were involved in the
94 creation of the linked segment, the disposition of each input
95 component, and a list of the retained links and definitions.
96 The name of the listing segment will be the same as the output
97 binary with a .list suffix appended.
98
99
100 -map
101 Create a map of the input components and where they were
102 placed. The name of the listing segment will be the same as
103 the output binary with a .list suffix appended.
104
105 -no_automatic_segnames, -nasn
106 do not add entrypoint names to the containing block as segname
107 definitions. This is the same behaviour as the binder and
108 requires that entrypoints be referenced with the name of the
109 containing module i.e. segment$entrypoint in order to be
110 resolved internally.
111
112 -no_force, -nfc
113 query before overwriting a non-object segment, or an object
114 created by a translator. Default
115
116 -no_list, -nls
117 do not produce a listing segment. Default
118
119 -no_version, -nvers
120 do not print out the version of the linkage editor.
121
122
123 -output_file pathname, -of pathname
124 specifies the pathname of the output binary to be created. If
125 no -output_file argument is given, the output binary will be
126 created in the working directory with the name a.out. Before
127 generating the output, the linkage editor will check to insure
128 that the target either does not exist, or was a bound
129 object prior to overwriting. If the target is not an object,
130 or was not created by the linkage_editor, the user will be
131 queried before it is overwritten unless the -force argument is
132 given.
133
134
135 -retain entrypoint, -ret entrypoint
136 specifies an entrypoint that should be retained. The
137 entrypoint is given in the form segname$entryname. The
138 entrypoint is found by conventional methods, and that
139 definition and all segname definitions for that block are
140 retained in the final output. If no -retain or -delete
141 argument is given, all segnames and entrypoints will be
142 retained. If any -retain arguments are given, all other
143 entrypoint and segname definitions will be deleted, with the
144 exception of a "main_" definition which will always be
145 retained, along with its associated segnames, unless deleted
146 with an explicit -delete main_ control argument.
147
148 -version, -vers
149 prints out the version of the linkage editor before linking.
150 Default
151
152
153 Notes:
154
155 When specifying an entrypoint with a -retain or -delete option,
156 the entrypoint name given is treated as a pair of starnames. One
157 starname for the segname portion and one for the entrypoint name
158 portion. Parts of the entrypoint not given are assumed to be **.
159 If -retain arguments are supplied but no -delete arguments, then
160 a global -delete is assumed. Otherwise a global -retain is
161 assumed.
162
163
164 When determining which -retain or -delete option to apply to any
165 given definition, the most rules are applied:
166 1) The most specific rule is applied first. The following order
167 determines what is the most specific rule
168
169 most specific: explicit segname and entrypoint
170 star segname and explicit entrypoint
171 any segname and explicit entrypoint
172 explicit segname and star entrypoint
173 star segname and entrypoint
174 any segname and star entrypoint
175 explicit segname and any entrypoint
176 star segname and any entrypoint
177 least specific: any segname and entrypoint
178
179
180 where "any" name refers to a star name which matches any name
181 and "star" name refers to a star name which is ambiguous ie.
182 contains * or ? characters but does not match all names, and
183 "explicit" name refers to a name with no * or ? characters.
184
185
186 2) entrypoint specs with the same class above, are ordered based
187 on the order they occurred in the input. If two starnames
188 both match a given entrypoint, the first one given on the
189 command line will be used.
190
191
192 Examples:
193 -retain bar$foo = -retain bar$foo
194 -retain foo = -retain **$foo
195 -retain bar$ = -retain bar$**
196 -retain = -retain **$**
197 -retain b??$ = -retain b??$**
198
199
200 Notes on severity values:
201
202 The linkage_editor command associates the following severity
203 values to be used by the severity active function:
204
205 Value Meaning
206 0 No error.
207 1 Warning.
208 2 Correctable error.
209 3 Fatal error.
210 4 Unrecoverable error.