ack/util/led/led.6
1990-03-15 10:44:14 +00:00

132 lines
2.8 KiB
Groff

.TH LED 6ACK
.ad
.SH NAME
led \- link editor
.SH SYNOPSIS
.B led
[ option ] ... file ...
.SH DESCRIPTION
.I Led
is a link editor for object modules,
created by one of the ACK assemblers.
It combines several
object programs into one,
resolves external references,
and searches archives.
In the simplest case several object
.I files
are given, and
.I led
combines them, producing
an object module which can be either
fed into a machine specific conversion program
or become the input for a further
.I led
run.
(In the latter case, if there are no unresolved references,
the
.B \-r
option must be given
to preserve the relocation information.)\
The resulting object file of
.I led
is named
.BR a.out .
.PP
The argument routines are concatenated in the order specified.
The entry point of the output is the
beginning of the first routine.
.PP
If an argument is an archive, its table of contents is searched
for names which are undefined at the point at which the argument
is encountered in the argument list.
This procedure is repeated as long as unresolved references are
satisfied.
.PP
.I Led
understands several options.
The flags
.BR \-c ,
.BR \-r ,
.BR \-s ,
and
.B \-u
should appear before the file names.
.TP
.BI \-a dd:nnnn
The alignment of section
.IR dd ,
where
.I dd
is a decimal number,
is set to
.IR nnnn .
If
.I nnnn
starts with `0x', it is hexadecimal,
else if its starts with `0b', it is binary,
else if it starts with `0', it is octal,
else it is decimal.
.TP
.BI \-b dd:nnnn
The base addres in the machine of section
.IR dd ,
is set to
.IR nnnn .
The previous remarks about
.I dd
and
.I nnnn
apply.
.TP
.B \-o
The
.I name
argument after
.B \-o
is used as the name of the
.I led
output file, instead of
.BR a.out .
.TP
.B \-r
Generate relocation information in the output file
so that it can be the subject of another
.I led
run.
This flag suppresses the `Undefined:' diagnostic.
.TP
.B \-c
Indicates that relocation information must be produced, but commons must
be resolved.
This may be useful for machines that need a last relocation step
at load time. This flag disables the \fB\-r\fP flag.
.TP
.B \-s
`Strip' the output, that is, remove the name table
and relocation information to save space (but impair the
usefulness of the debuggers).
.TP
.B \-u
Take the following argument as a symbol and enter
it as undefined in the name table.
This is useful for loading wholly from a library,
since initially the name table is empty
and an unresolved reference is needed
to force the loading of the first routine.
.TP
.B \-v
For each member of a library that is linked, give a message on standard
error telling why
.I led
chose to link it (which unresolved reference it resolves).
This option is useful if you have 'multiply defined' problems.
.SH FILES
~em/lib/em_led
a.out output file
.SH "SEE ALSO"
ack(1)
arch(1)
ack.out.h(5)
uni_ass(6)