.TH LED 6 2017-01-18 .ad .SH NAME led \- link editor .SH SYNOPSIS .B ~em/lib.bin/em_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 \-n Usually, after linking, a value in the namelist represents an absolute address. Sometimes, particularly when using the \fB\-c\fR flag, it may be useful to have as value the offset with respect to the beginning of the corresponding section. The \fB\-n\fR flag enables this. .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 in resolving 'multiply defined' problems. .SH FILES ~em/lib.bin/em_led .PD 0 .IP a.out 24n output file .PD .SH "SEE ALSO" ack(1), arch(1), ack.out.h(5), uni_ass(6)