Tune the installed manual pages.
This commit slightly improves the formatting of the manuals. My
OpenBSD machine uses mandoc(1) to format manuals. I check the manuals
with `mandoc -T lint` and fix most of the warnings. I also make
other changes where mandoc didn't warn me.
roff(7) says, "Each sentence should terminate at the end of an input
line," but we often forgot this rule. I insert some newlines after
sentences that had ended mid-line.
roff(7) also says that blank lines "are only permitted within literal
contexts." I delete blank lines. This removes some extra blank lines
from mandoc's output. If I do want a blank line in the output, I call
".sp 1" to make it in man(7). If I want a blank line in the source,
but not the output, I put a plain dot "." so roff ignores it.
Hyphens used for command-line options, like \-a, should be escaped by
a backslash. I insert a few missing backslashes.
mandoc warns if the date in .TH doesn't look like a date. Our manuals
had a missing date or the RCS keyword "$Revision$". Git doesn't
expand RCS keywords. I put in today's date, 2017-01-18.
Some manuals used tab characters in filled mode. That doesn't work.
I use .nf to turn off filled mode, or I use .IP in man(7) to make the
indentation without a tab character.
ack(1) defined a macro .SB but never used it, so I delete the
definition. I also remove a call to the missing macro .RF.
mandoc warns about empty paragraphs. I deleted them. mandoc also
warned about these macro pairs in anm(1):
.SM
.B text
The .SM did nothing because the .B text is on a different line. I
changed each pair to .SB for small bold text.
I make a few other small changes.
2017-01-19 04:02:30 +00:00
|
|
|
.TH LED 6 2017-01-18
|
1987-03-11 13:34:07 +00:00
|
|
|
.ad
|
1987-01-29 14:17:23 +00:00
|
|
|
.SH NAME
|
|
|
|
led \- link editor
|
|
|
|
.SH SYNOPSIS
|
1991-10-01 12:18:39 +00:00
|
|
|
.B ~em/lib.bin/em_led
|
1987-01-29 14:17:23 +00:00
|
|
|
[ option ] ... file ...
|
|
|
|
.SH DESCRIPTION
|
|
|
|
.I 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
|
|
|
|
.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
|
2018-02-23 21:31:46 +00:00
|
|
|
The base address in the machine of section
|
1987-01-29 14:17:23 +00:00
|
|
|
.IR dd ,
|
|
|
|
is set to
|
|
|
|
.IR nnnn .
|
|
|
|
The previous remarks about
|
|
|
|
.I dd
|
|
|
|
and
|
|
|
|
.I nnnn
|
|
|
|
apply.
|
Tune the installed manual pages.
This commit slightly improves the formatting of the manuals. My
OpenBSD machine uses mandoc(1) to format manuals. I check the manuals
with `mandoc -T lint` and fix most of the warnings. I also make
other changes where mandoc didn't warn me.
roff(7) says, "Each sentence should terminate at the end of an input
line," but we often forgot this rule. I insert some newlines after
sentences that had ended mid-line.
roff(7) also says that blank lines "are only permitted within literal
contexts." I delete blank lines. This removes some extra blank lines
from mandoc's output. If I do want a blank line in the output, I call
".sp 1" to make it in man(7). If I want a blank line in the source,
but not the output, I put a plain dot "." so roff ignores it.
Hyphens used for command-line options, like \-a, should be escaped by
a backslash. I insert a few missing backslashes.
mandoc warns if the date in .TH doesn't look like a date. Our manuals
had a missing date or the RCS keyword "$Revision$". Git doesn't
expand RCS keywords. I put in today's date, 2017-01-18.
Some manuals used tab characters in filled mode. That doesn't work.
I use .nf to turn off filled mode, or I use .IP in man(7) to make the
indentation without a tab character.
ack(1) defined a macro .SB but never used it, so I delete the
definition. I also remove a call to the missing macro .RF.
mandoc warns about empty paragraphs. I deleted them. mandoc also
warned about these macro pairs in anm(1):
.SM
.B text
The .SM did nothing because the .B text is on a different line. I
changed each pair to .SB for small bold text.
I make a few other small changes.
2017-01-19 04:02:30 +00:00
|
|
|
.TP
|
1987-01-29 14:17:23 +00:00
|
|
|
.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 .
|
Tune the installed manual pages.
This commit slightly improves the formatting of the manuals. My
OpenBSD machine uses mandoc(1) to format manuals. I check the manuals
with `mandoc -T lint` and fix most of the warnings. I also make
other changes where mandoc didn't warn me.
roff(7) says, "Each sentence should terminate at the end of an input
line," but we often forgot this rule. I insert some newlines after
sentences that had ended mid-line.
roff(7) also says that blank lines "are only permitted within literal
contexts." I delete blank lines. This removes some extra blank lines
from mandoc's output. If I do want a blank line in the output, I call
".sp 1" to make it in man(7). If I want a blank line in the source,
but not the output, I put a plain dot "." so roff ignores it.
Hyphens used for command-line options, like \-a, should be escaped by
a backslash. I insert a few missing backslashes.
mandoc warns if the date in .TH doesn't look like a date. Our manuals
had a missing date or the RCS keyword "$Revision$". Git doesn't
expand RCS keywords. I put in today's date, 2017-01-18.
Some manuals used tab characters in filled mode. That doesn't work.
I use .nf to turn off filled mode, or I use .IP in man(7) to make the
indentation without a tab character.
ack(1) defined a macro .SB but never used it, so I delete the
definition. I also remove a call to the missing macro .RF.
mandoc warns about empty paragraphs. I deleted them. mandoc also
warned about these macro pairs in anm(1):
.SM
.B text
The .SM did nothing because the .B text is on a different line. I
changed each pair to .SB for small bold text.
I make a few other small changes.
2017-01-19 04:02:30 +00:00
|
|
|
.TP
|
1987-01-29 14:17:23 +00:00
|
|
|
.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
|
1987-08-26 13:22:44 +00:00
|
|
|
Indicates that relocation information must be produced, but commons must
|
1987-01-29 14:17:23 +00:00
|
|
|
be resolved.
|
|
|
|
This may be useful for machines that need a last relocation step
|
1987-08-26 13:22:44 +00:00
|
|
|
at load time. This flag disables the \fB\-r\fP flag.
|
1987-01-29 14:17:23 +00:00
|
|
|
.TP
|
1996-11-21 10:14:26 +00:00
|
|
|
.B \-n
|
|
|
|
Usually, after linking, a value in the namelist represents an absolute
|
Tune the installed manual pages.
This commit slightly improves the formatting of the manuals. My
OpenBSD machine uses mandoc(1) to format manuals. I check the manuals
with `mandoc -T lint` and fix most of the warnings. I also make
other changes where mandoc didn't warn me.
roff(7) says, "Each sentence should terminate at the end of an input
line," but we often forgot this rule. I insert some newlines after
sentences that had ended mid-line.
roff(7) also says that blank lines "are only permitted within literal
contexts." I delete blank lines. This removes some extra blank lines
from mandoc's output. If I do want a blank line in the output, I call
".sp 1" to make it in man(7). If I want a blank line in the source,
but not the output, I put a plain dot "." so roff ignores it.
Hyphens used for command-line options, like \-a, should be escaped by
a backslash. I insert a few missing backslashes.
mandoc warns if the date in .TH doesn't look like a date. Our manuals
had a missing date or the RCS keyword "$Revision$". Git doesn't
expand RCS keywords. I put in today's date, 2017-01-18.
Some manuals used tab characters in filled mode. That doesn't work.
I use .nf to turn off filled mode, or I use .IP in man(7) to make the
indentation without a tab character.
ack(1) defined a macro .SB but never used it, so I delete the
definition. I also remove a call to the missing macro .RF.
mandoc warns about empty paragraphs. I deleted them. mandoc also
warned about these macro pairs in anm(1):
.SM
.B text
The .SM did nothing because the .B text is on a different line. I
changed each pair to .SB for small bold text.
I make a few other small changes.
2017-01-19 04:02:30 +00:00
|
|
|
address.
|
|
|
|
Sometimes, particularly when using the \fB\-c\fR flag, it may be
|
1996-11-21 10:14:26 +00:00
|
|
|
useful to have as value the offset with respect to the beginning of the
|
|
|
|
corresponding section. The \fB\-n\fR flag enables this.
|
|
|
|
.TP
|
1987-01-29 14:17:23 +00:00
|
|
|
.B \-s
|
|
|
|
`Strip' the output, that is, remove the name table
|
|
|
|
and relocation information to save space (but impair the
|
|
|
|
usefulness of the debuggers).
|
Tune the installed manual pages.
This commit slightly improves the formatting of the manuals. My
OpenBSD machine uses mandoc(1) to format manuals. I check the manuals
with `mandoc -T lint` and fix most of the warnings. I also make
other changes where mandoc didn't warn me.
roff(7) says, "Each sentence should terminate at the end of an input
line," but we often forgot this rule. I insert some newlines after
sentences that had ended mid-line.
roff(7) also says that blank lines "are only permitted within literal
contexts." I delete blank lines. This removes some extra blank lines
from mandoc's output. If I do want a blank line in the output, I call
".sp 1" to make it in man(7). If I want a blank line in the source,
but not the output, I put a plain dot "." so roff ignores it.
Hyphens used for command-line options, like \-a, should be escaped by
a backslash. I insert a few missing backslashes.
mandoc warns if the date in .TH doesn't look like a date. Our manuals
had a missing date or the RCS keyword "$Revision$". Git doesn't
expand RCS keywords. I put in today's date, 2017-01-18.
Some manuals used tab characters in filled mode. That doesn't work.
I use .nf to turn off filled mode, or I use .IP in man(7) to make the
indentation without a tab character.
ack(1) defined a macro .SB but never used it, so I delete the
definition. I also remove a call to the missing macro .RF.
mandoc warns about empty paragraphs. I deleted them. mandoc also
warned about these macro pairs in anm(1):
.SM
.B text
The .SM did nothing because the .B text is on a different line. I
changed each pair to .SB for small bold text.
I make a few other small changes.
2017-01-19 04:02:30 +00:00
|
|
|
.TP
|
1987-01-29 14:17:23 +00:00
|
|
|
.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.
|
1990-03-15 10:44:14 +00:00
|
|
|
.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).
|
1991-11-22 13:18:57 +00:00
|
|
|
This option is useful in resolving 'multiply defined' problems.
|
2018-03-11 11:37:23 +00:00
|
|
|
.TP
|
|
|
|
.B \-d
|
|
|
|
If led was built with debugging diagnostics, then output copious amounts
|
|
|
|
of tracing explaining what it is doing.
|
1987-01-29 14:17:23 +00:00
|
|
|
.SH FILES
|
1991-11-22 13:18:57 +00:00
|
|
|
~em/lib.bin/em_led
|
Tune the installed manual pages.
This commit slightly improves the formatting of the manuals. My
OpenBSD machine uses mandoc(1) to format manuals. I check the manuals
with `mandoc -T lint` and fix most of the warnings. I also make
other changes where mandoc didn't warn me.
roff(7) says, "Each sentence should terminate at the end of an input
line," but we often forgot this rule. I insert some newlines after
sentences that had ended mid-line.
roff(7) also says that blank lines "are only permitted within literal
contexts." I delete blank lines. This removes some extra blank lines
from mandoc's output. If I do want a blank line in the output, I call
".sp 1" to make it in man(7). If I want a blank line in the source,
but not the output, I put a plain dot "." so roff ignores it.
Hyphens used for command-line options, like \-a, should be escaped by
a backslash. I insert a few missing backslashes.
mandoc warns if the date in .TH doesn't look like a date. Our manuals
had a missing date or the RCS keyword "$Revision$". Git doesn't
expand RCS keywords. I put in today's date, 2017-01-18.
Some manuals used tab characters in filled mode. That doesn't work.
I use .nf to turn off filled mode, or I use .IP in man(7) to make the
indentation without a tab character.
ack(1) defined a macro .SB but never used it, so I delete the
definition. I also remove a call to the missing macro .RF.
mandoc warns about empty paragraphs. I deleted them. mandoc also
warned about these macro pairs in anm(1):
.SM
.B text
The .SM did nothing because the .B text is on a different line. I
changed each pair to .SB for small bold text.
I make a few other small changes.
2017-01-19 04:02:30 +00:00
|
|
|
.PD 0
|
|
|
|
.IP a.out 24n
|
|
|
|
output file
|
|
|
|
.PD
|
1987-01-29 14:17:23 +00:00
|
|
|
.SH "SEE ALSO"
|
Tune the installed manual pages.
This commit slightly improves the formatting of the manuals. My
OpenBSD machine uses mandoc(1) to format manuals. I check the manuals
with `mandoc -T lint` and fix most of the warnings. I also make
other changes where mandoc didn't warn me.
roff(7) says, "Each sentence should terminate at the end of an input
line," but we often forgot this rule. I insert some newlines after
sentences that had ended mid-line.
roff(7) also says that blank lines "are only permitted within literal
contexts." I delete blank lines. This removes some extra blank lines
from mandoc's output. If I do want a blank line in the output, I call
".sp 1" to make it in man(7). If I want a blank line in the source,
but not the output, I put a plain dot "." so roff ignores it.
Hyphens used for command-line options, like \-a, should be escaped by
a backslash. I insert a few missing backslashes.
mandoc warns if the date in .TH doesn't look like a date. Our manuals
had a missing date or the RCS keyword "$Revision$". Git doesn't
expand RCS keywords. I put in today's date, 2017-01-18.
Some manuals used tab characters in filled mode. That doesn't work.
I use .nf to turn off filled mode, or I use .IP in man(7) to make the
indentation without a tab character.
ack(1) defined a macro .SB but never used it, so I delete the
definition. I also remove a call to the missing macro .RF.
mandoc warns about empty paragraphs. I deleted them. mandoc also
warned about these macro pairs in anm(1):
.SM
.B text
The .SM did nothing because the .B text is on a different line. I
changed each pair to .SB for small bold text.
I make a few other small changes.
2017-01-19 04:02:30 +00:00
|
|
|
ack(1),
|
|
|
|
arch(1),
|
|
|
|
ack.out.h(5),
|
1987-01-29 14:17:23 +00:00
|
|
|
uni_ass(6)
|