LED(6)

NAME
led - link editor

SYNOPSIS
~em/lib.bin/em_led [ option ] ... file ...

DESCRIPTION
Led is a link editor for object modules, It combines several object programs into one, resolves external references, and searches archives. In the simplest case several object files are given, and 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 led run. (In the latter case, if there are no unresolved references, the -r option must be given to preserve the relocation information.) The resulting object file of led is named a.out.

The argument routines are concatenated in the order specified. The entry point of the output is the beginning of the first routine.

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.

Led understands several options. The flags -c, -r, -s, and -u should appear before the file names.

-add:nnnn
    The alignment of section dd, where dd is a decimal number, is set to nnnn. If 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.

-bdd:nnnn
    The base address in the machine of section dd, is set to nnnn. The previous remarks about dd and nnnn apply.

-o  The name argument after -o is used as the name of the led output file, instead of a.out.

-r  Generate relocation information in the output file so that it can be the subject of another led run. This flag suppresses the `Undefined:' diagnostic.

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

-n  Usually, after linking, a value in the namelist represents an absolute address. Sometimes, particularly when using the -c flag, it may be useful to have as value the offset with respect to the beginning of the corresponding section. The -n flag enables this.

-s  `Strip' the output, that is, remove the name table and relocation information to save space (but impair the usefulness of the debuggers).

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

-v  For each member of a library that is linked, give a message on standard error telling why led chose to link it (which unresolved reference it resolves). This option is useful in resolving 'multiply defined' problems.

-d  If led was built with debugging diagnostics, then output copious amounts of tracing explaining what it is doing.

FILES
~em/lib.bin/em_led
a.out
    output file

SEE ALSO
ack(1), arch(1), ack.out.h(5), uni_ass(6)