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.