.so macro
.he 'LO68''LO68'
.de np
.sp
.in -5
.lp +5 5
..
.pr PROGRAM LO68
lo68 - 68000 link editor
.us USAGE
lo68 [ -slXZUoIr] name ...
.fn FUNCTION
\&'lo68'
combines several object programs into one;
resolves external references; and searches libraries.
In the simplest case the names of several object
programs are given, and
\&'lo68'
combines them, producing
an object module which can be executed on the 68000.
The output of
\&'lo68'
is left on
\&'c.out'
(or the file name specified by -o).
This file is made executable only if no errors occurred during the load.
.sp
The argument routines are concatenated in the order
specified.
The entry point of the output is the
beginning of the first routine.
.sp
If any argument is a library, it is searched exactly once
at the point it is encountered in the argument list.
Only those routines defining an unresolved external
reference are loaded.
If a routine from a library
references another routine in the library,
the referenced routine must appear after the
referencing routine in the library.
Thus the order of programs within libraries is important.
Libraries are assumed to be standard ar (cmnd) format
(either magic number 177555 or magic number 177545 library
formats can be searched).
.sp
\&'lo68'
understands several flag arguments which are written
preceded by a `-'.
Except for -l,
they should appear before the file names.
.sp
.lp +4 4
-s\ \ \ `strip' the output, that is, remove the symbol table
and relocation bits to save space.
.np +4 4
-r\ \ \ put the relocation bits on the output file
(default is no relocation bits on the output file).
.np +4 4
-I\ \ \ don't output error messages for 16-bit address overflow.
.np +4 4
-U\ \ \ take the following argument as a symbol and enter
it as undefined in the symbol table.
This is useful
for loading wholly from a library, since initially the symbol
table is empty and an unresolved reference is needed
to force the loading of the first routine.
.np +4 4
-o\ \ \ interprets the argument immediately following it as the name
of the output file.  If this argument is not specified, the name
of the output file is c.out.
.np +4 4
-l\ \ \ This option is an abbreviation for a library name.
-l
alone stands for `/lib/lib7.a', which
is the standard system library for assembly language programs.
-lx
stands for `/lib/libx.a' where x is any character.
A library is searched when its name is encountered,
so the placement of a -l
is significant.
.np +4 4
-X\ \ \ Save local symbols
except for those whose names begin with `L'.
This option is used by
\&'lo68'
to discard internally generated labels while
retaining symbols local to routines.
If the -X flag is not specified, lo68 puts only global symbols
into the symbol table.
.np +4 4
-Znnnnnnnn\ \ \ Define nnnnnnnn as beginning hex address for
text segment.
This address defaults to 0, but can be specified as any hex number
between 0 and 0FFFFFFFF hex.
This option is especially useful for stand-alone programs.
nnnnnnnn must be a hex number -- lower case a-f or upper case A-F are
both allowed.
.np +4 4
-Tnnnnnnnn\ \ \ Same as -Znnnnnnnn.
.np +4 4
-Dnnnnnnnn\ \ \ Define nnnnnnnn as beginning hex address for
data segment.
This address defaults to next byte after end of text segment,
but can be specified as any hex number
between 0 and 0FFFFFFFF hex.
This option is especially useful for stand-alone programs.
nnnnnnnn must be a hex number -- lower case a-f or upper case A-F are
both allowed.
.np +4 4
-Bnnnnnnnn\ \ \ Define nnnnnnnn as beginning hex address for
bss segment.
This address defaults to next byte after end of data segment,
but can be specified as any hex number
between 0 and 0FFFFFFFF hex.
This option is especially useful for stand-alone programs.
nnnnnnnn must be a hex number -- lower case a-f or upper case A-F are
both allowed.
.in -5
.dt
.fl FILES
.nf
/lib/lib7.a   standard library
/lib/libF.a   floating point library
.fi
.br
c.out   output file
.sa "SEE ALSO"
as(cmnd), ar(cmnd), cc(cmnd)
.dg DIAGNOSTICS
Error messages begin with a : and are meant to be self-explanatory.
