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.
This commit is contained in:
parent
d7df126730
commit
f91bc2804d
|
@ -1,68 +1,53 @@
|
||||||
.TH EM_B 6
|
.TH EM_B 6 2017-01-18
|
||||||
.ad
|
.ad
|
||||||
|
|
||||||
|
|
||||||
.SH NAME
|
.SH NAME
|
||||||
em_b \- ACK B compiler
|
em_b \- ACK B compiler
|
||||||
|
|
||||||
|
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.B ~em/lib/ack/em_b
|
.B ~em/lib/ack/em_b
|
||||||
.RI [ options ]
|
.RI [ options ]
|
||||||
|
|
||||||
|
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
.I em_b
|
.I em_b
|
||||||
is a port of the ABC B compiler to the ACK. Interested parties will be
|
is a port of the ABC B compiler to the ACK.
|
||||||
|
Interested parties will be
|
||||||
interested in the upstream distribution here:
|
interested in the upstream distribution here:
|
||||||
|
|
||||||
.nf
|
.nf
|
||||||
.sp
|
.sp
|
||||||
https://github.com/aap/abc
|
https://github.com/aap/abc
|
||||||
.fi
|
.fi
|
||||||
|
.PP
|
||||||
However, the version here has been heavily modified --- bug reports should be
|
However, the version here has been heavily modified \(em bug reports should be
|
||||||
filed with the ACK, not with the upstream compiler.
|
filed with the ACK, not with the upstream compiler.
|
||||||
|
|
||||||
.PP
|
.PP
|
||||||
Since B was designed for machines with word addressing, some hacking is
|
Since B was designed for machines with word addressing, some hacking is
|
||||||
required to make it work on modern, byte addressed machines. The generated
|
required to make it work on modern, byte addressed machines.
|
||||||
|
The generated
|
||||||
code expects B variables to contain word addresses, and then generates
|
code expects B variables to contain word addresses, and then generates
|
||||||
code to transform these into native addresses before use (which,
|
code to transform these into native addresses before use (which,
|
||||||
unfortunately, impacts performance). However, the ACK's linker doesn't know
|
unfortunately, impacts performance).
|
||||||
|
However, the ACK's linker doesn't know
|
||||||
how to emit word addresses into the program's data sections, and so a
|
how to emit word addresses into the program's data sections, and so a
|
||||||
separate fixup stage has to happen at runtime, just before \fBmain()\fP,
|
separate fixup stage has to happen at runtime, just before \fBmain()\fP,
|
||||||
to convert the byte addresses into word addresses.
|
to convert the byte addresses into word addresses.
|
||||||
|
|
||||||
.PP
|
.PP
|
||||||
The end result is that using multiple source files with B is somewhat
|
The end result is that using multiple source files with B is somewhat
|
||||||
unwieldy, requiring each module to be explicitly named and then an extra
|
unwieldy, requiring each module to be explicitly named and then an extra
|
||||||
stage to generate the fixup code. See the \fBack\fP(1) and \fBabmodules\fP(1)
|
stage to generate the fixup code.
|
||||||
for details.
|
See the \fBack\fP(1) and \fBabmodules\fP(1) for details.
|
||||||
|
|
||||||
|
|
||||||
.SH OPTIONS
|
.SH OPTIONS
|
||||||
|
|
||||||
.I em_b
|
.I em_b
|
||||||
accepts the following flags:
|
accepts the following flags:
|
||||||
|
|
||||||
.IP \-w\ \fIsize\fP
|
.IP \-w\ \fIsize\fP
|
||||||
Sets the word size, used for scaling addresses. Usually either 2 or 4.
|
Sets the word size, used for scaling addresses.
|
||||||
|
Usually either 2 or 4.
|
||||||
.IP \-B\ \fIname\fP
|
.IP \-B\ \fIname\fP
|
||||||
Sets the name of the module currently being compiled (used to generate the
|
Sets the name of the module currently being compiled (used to generate the
|
||||||
fixup table symbol name). Defaults to \fImain\fP if not specified.
|
fixup table symbol name).
|
||||||
|
Defaults to \fImain\fP if not specified.
|
||||||
.IP \-i\ \fIfilename\fP
|
.IP \-i\ \fIfilename\fP
|
||||||
The source B file.
|
The source B file.
|
||||||
|
|
||||||
.IP \-o\ \fIfilename\fP
|
.IP \-o\ \fIfilename\fP
|
||||||
The output compact EM bytecode file.
|
The output compact EM bytecode file.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
\fIack\fR(1), \fIabmodules\fR(1)
|
\fIack\fR(1), \fIabmodules\fR(1)
|
||||||
|
|
||||||
.SH REMARKS
|
.SH REMARKS
|
||||||
It is very unlikely the \fIem_b\fP will ever be useful for anything.
|
It is very unlikely the \fIem_b\fP will ever be useful for anything.
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
.TH EM_M2 6 "$Revision$"
|
.TH EM_M2 6 2017-01-18
|
||||||
.ad
|
.ad
|
||||||
.SH NAME
|
.SH NAME
|
||||||
em_m2 \- ACK Modula\-2 compiler
|
em_m2 \- ACK Modula\-2 compiler
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.B ~em/lib.bin/em_m2
|
.B ~em/lib.bin/em_m2
|
||||||
.RI [ option ]
|
.RI [ option ]
|
||||||
.I source
|
.I source
|
||||||
.I destination
|
.I destination
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
|
@ -15,9 +15,9 @@ into EM code.
|
||||||
The input is taken from
|
The input is taken from
|
||||||
.IR source ,
|
.IR source ,
|
||||||
while the
|
while the
|
||||||
EM code is written on
|
EM code is written on
|
||||||
.IR destination .
|
.IR destination .
|
||||||
.br
|
.PP
|
||||||
.I Option
|
.I Option
|
||||||
is a, possibly empty, sequence of the following combinations:
|
is a, possibly empty, sequence of the following combinations:
|
||||||
.IP \fB\-I\fIdirname\fR
|
.IP \fB\-I\fIdirname\fR
|
||||||
|
@ -65,7 +65,8 @@ make all procedure names global, so that \fIadb\fR(1) understands them.
|
||||||
.IP \fB\-g\fR
|
.IP \fB\-g\fR
|
||||||
produce a DBX-style symbol table.
|
produce a DBX-style symbol table.
|
||||||
.IP \fB\-l\fR
|
.IP \fB\-l\fR
|
||||||
enable local extensions. Currently, there are two local extensions:
|
enable local extensions.
|
||||||
|
Currently, there are two local extensions:
|
||||||
procedure constants, and the type LONGCARD.
|
procedure constants, and the type LONGCARD.
|
||||||
.IP \fB\-s\fR
|
.IP \fB\-s\fR
|
||||||
make INTEGER ranges symmetric, t.i., MIN(INTEGER) = - MAX(INTEGER).
|
make INTEGER ranges symmetric, t.i., MIN(INTEGER) = - MAX(INTEGER).
|
||||||
|
@ -77,11 +78,11 @@ disable all range checks.
|
||||||
enable extra array bound checks, for machines that do not implement the
|
enable extra array bound checks, for machines that do not implement the
|
||||||
EM ones.
|
EM ones.
|
||||||
.IP \fB-U\fR
|
.IP \fB-U\fR
|
||||||
allow for underscores within identifiers. Identifiers may not start with
|
allow for underscores within identifiers.
|
||||||
|
Identifiers may not start with
|
||||||
an underscore, even if this flag is given.
|
an underscore, even if this flag is given.
|
||||||
.IP \fB-3\fR
|
.IP \fB-3\fR
|
||||||
only accept Modula-2 programs that strictly conform to [1].
|
only accept Modula-2 programs that strictly conform to [1].
|
||||||
.LP
|
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
\fIack\fR(1), \fImodula-2\fR(1)
|
\fIack\fR(1), \fImodula-2\fR(1)
|
||||||
.IP [1]
|
.IP [1]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
.TH EM_PC 6 "$Revision$"
|
.TH EM_PC 6 2017-01-18
|
||||||
.ad
|
.ad
|
||||||
.SH NAME
|
.SH NAME
|
||||||
em_pc \- Pascal compiler
|
em_pc \- Pascal compiler
|
||||||
|
@ -45,9 +45,9 @@ and the \fIn\fR parameter for the alignment of that type.
|
||||||
Absence of \fIm\fR or \fIn\fR causes a default value to be retained.
|
Absence of \fIm\fR or \fIn\fR causes a default value to be retained.
|
||||||
.IP \fB\-w\fR
|
.IP \fB\-w\fR
|
||||||
suppress warning messages.
|
suppress warning messages.
|
||||||
.IP
|
|
||||||
.IP \fB\-R\fR
|
.IP \fB\-R\fR
|
||||||
disable range checks. Additionally, the run-time tests to see if
|
disable range checks.
|
||||||
|
Additionally, the run-time tests to see if
|
||||||
a function is assigned, are skipped.
|
a function is assigned, are skipped.
|
||||||
.IP \fB\-A\fR
|
.IP \fB\-A\fR
|
||||||
enable extra array bound checks, for machines that do not implement the
|
enable extra array bound checks, for machines that do not implement the
|
||||||
|
@ -55,26 +55,28 @@ EM ones.
|
||||||
.IP \fB\-C\fR
|
.IP \fB\-C\fR
|
||||||
the lower case and upper case letters are treated differently.
|
the lower case and upper case letters are treated differently.
|
||||||
.IP "\fB\-u\fR, \fB\-U\fR"
|
.IP "\fB\-u\fR, \fB\-U\fR"
|
||||||
allow underscores in identifiers. It is not allowed to start an identifier
|
allow underscores in identifiers.
|
||||||
|
It is not allowed to start an identifier
|
||||||
with an underscore.
|
with an underscore.
|
||||||
.IP \fB\-a\fR
|
.IP \fB\-a\fR
|
||||||
don't generate code for assertions.
|
don't generate code for assertions.
|
||||||
.IP \fB\-c\fR
|
.IP \fB\-c\fR
|
||||||
allow C-like strings. This option is mainly intended for usage with
|
allow C-like strings.
|
||||||
C-functions. This option will cause the type 'string' to be known.
|
This option is mainly intended for usage with C-functions.
|
||||||
|
This option will cause the type 'string' to be known.
|
||||||
.IP \fB\-d\fR
|
.IP \fB\-d\fR
|
||||||
allow the type 'long'.
|
allow the type 'long'.
|
||||||
.IP \fB\-i\fR\fIn\fR
|
.IP \fB\-i\fR\fIn\fR
|
||||||
set the size of integer sets to \fIn\fR. When not used, a default value is
|
set the size of integer sets to \fIn\fR. When not used, a default value is
|
||||||
retained.
|
retained.
|
||||||
.IP \fB\-s\fR
|
.IP \fB\-s\fR
|
||||||
allow only standard Pascal. This disables the \fB\-c\fR, \fB\-d\fR, \fB\-u\fR,
|
allow only standard Pascal.
|
||||||
\fB\-U\fR and \fB\-C\fR
|
This disables the \fB\-c\fR, \fB\-d\fR, \fB\-u\fR,
|
||||||
options. Furthermore, assertions are not recognized at all (instead of just
|
\fB\-U\fR and \fB\-C\fR options.
|
||||||
|
Furthermore, assertions are not recognized at all (instead of just
|
||||||
being skipped).
|
being skipped).
|
||||||
.IP \fB\-t\fR
|
.IP \fB\-t\fR
|
||||||
trace calls and exits of procedures and functions.
|
trace calls and exits of procedures and functions.
|
||||||
.PP
|
|
||||||
.SH FILES
|
.SH FILES
|
||||||
.IR ~em/lib/em_pc :
|
.IR ~em/lib/em_pc :
|
||||||
binary of the Pascal compiler.
|
binary of the Pascal compiler.
|
||||||
|
|
|
@ -1,23 +1,12 @@
|
||||||
.\" $Id$
|
.TH ACK 1 2017-01-18
|
||||||
.de SB
|
|
||||||
.\" SuBheader
|
|
||||||
.sp 1
|
|
||||||
.PP
|
|
||||||
.nr Sf \\n(.f
|
|
||||||
.ft B
|
|
||||||
\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
|
|
||||||
.ft \\n(Sf
|
|
||||||
.sp 1
|
|
||||||
..
|
|
||||||
.TH ACK 1 "$Revision$"
|
|
||||||
.ad
|
.ad
|
||||||
|
.
|
||||||
.SH NAME
|
.SH NAME
|
||||||
ack \- Amsterdam Compiler Kit
|
ack \- Amsterdam Compiler Kit
|
||||||
|
.
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
\fBack\fP arguments
|
\fBack\fP arguments
|
||||||
|
.
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
This program transforms sources in several
|
This program transforms sources in several
|
||||||
languages to load files for a variety of machines,
|
languages to load files for a variety of machines,
|
||||||
|
@ -73,10 +62,8 @@ Optimized compact EM assembly code.
|
||||||
Machine assembly language code.
|
Machine assembly language code.
|
||||||
.IP .o
|
.IP .o
|
||||||
Object file.
|
Object file.
|
||||||
.PP
|
.
|
||||||
|
|
||||||
.SH OPTIONS
|
.SH OPTIONS
|
||||||
|
|
||||||
\fIAck\fP accepts the following flags:
|
\fIAck\fP accepts the following flags:
|
||||||
.IP \-m\fImachine\fP
|
.IP \-m\fImachine\fP
|
||||||
This flag tells \fIack\fP to generate a load file for \fImachine\fP.
|
This flag tells \fIack\fP to generate a load file for \fImachine\fP.
|
||||||
|
@ -106,7 +93,8 @@ Note: \fIack\fP refuses to overwrite argument \fI.e\fP files.
|
||||||
Preserve all intermediate files.
|
Preserve all intermediate files.
|
||||||
If two \fB\-t\fP are used,
|
If two \fB\-t\fP are used,
|
||||||
\fIack\fP also preserves output of failed transformations.
|
\fIack\fP also preserves output of failed transformations.
|
||||||
|
.
|
||||||
|
.sp 1
|
||||||
.IP \-w
|
.IP \-w
|
||||||
Suppress all warning messages.
|
Suppress all warning messages.
|
||||||
.IP \-v
|
.IP \-v
|
||||||
|
@ -118,7 +106,8 @@ Tell the C-compiler to conform to "Kernighan & Ritchie" C.
|
||||||
Tell \fIack\fP to use the ANSI C compiler instead of the old one.
|
Tell \fIack\fP to use the ANSI C compiler instead of the old one.
|
||||||
.IP \-fp
|
.IP \-fp
|
||||||
Use the software floating point package, if present.
|
Use the software floating point package, if present.
|
||||||
|
.
|
||||||
|
.sp 1
|
||||||
.IP \-I\fIdir\fP
|
.IP \-I\fIdir\fP
|
||||||
\&\`#include\' files whose names do not begin with \`/\' are
|
\&\`#include\' files whose names do not begin with \`/\' are
|
||||||
always sought first in the directory of the \fIfile\fP argument,
|
always sought first in the directory of the \fIfile\fP argument,
|
||||||
|
@ -136,7 +125,8 @@ preprocessing.
|
||||||
Don't generate line directives.
|
Don't generate line directives.
|
||||||
.IP \-C
|
.IP \-C
|
||||||
Leave C-comments in.
|
Leave C-comments in.
|
||||||
|
.
|
||||||
|
.sp 1
|
||||||
.IP \-p
|
.IP \-p
|
||||||
This flag tells both the Pascal and C front ends to include
|
This flag tells both the Pascal and C front ends to include
|
||||||
code enabling the user to do some monitoring/debugging.
|
code enabling the user to do some monitoring/debugging.
|
||||||
|
@ -144,13 +134,16 @@ Each time a routine is entered the routine \fBprocentry\fP
|
||||||
is called and just before each return \fBprocexit\fP is called.
|
is called and just before each return \fBprocexit\fP is called.
|
||||||
These routines are supplied with one parameter, a pointer
|
These routines are supplied with one parameter, a pointer
|
||||||
to a string containing the name of the routine.
|
to a string containing the name of the routine.
|
||||||
|
.
|
||||||
|
.sp 1
|
||||||
.IP \-B\fIname\fP
|
.IP \-B\fIname\fP
|
||||||
Tells the B front end what the name of the module being compiled is, for use
|
Tells the B front end what the name of the module being compiled is, for use
|
||||||
with separate compilation. Defaults to
|
with separate compilation.
|
||||||
|
Defaults to
|
||||||
.I main
|
.I main
|
||||||
if not specified. See the section below on compiling B.
|
if not specified. See the section below on compiling B.
|
||||||
|
.
|
||||||
|
.sp 1
|
||||||
.IP \-O
|
.IP \-O
|
||||||
.IP \-O\fInum\fP
|
.IP \-O\fInum\fP
|
||||||
.IP \-O\fIopt1,opt2,...\fP
|
.IP \-O\fIopt1,opt2,...\fP
|
||||||
|
@ -239,7 +232,8 @@ for higher levels: as for \-O4.
|
||||||
Disable the generation of code by the front ends to
|
Disable the generation of code by the front ends to
|
||||||
record line number and source file name at run-time.
|
record line number and source file name at run-time.
|
||||||
(This is the default for C and Fortran).
|
(This is the default for C and Fortran).
|
||||||
|
.
|
||||||
|
.sp 1
|
||||||
.IP \-l\fIname\fP
|
.IP \-l\fIname\fP
|
||||||
Tells \fIack\fP to insert a library module at this point.
|
Tells \fIack\fP to insert a library module at this point.
|
||||||
For example: the library \fImon\fP contains the
|
For example: the library \fImon\fP contains the
|
||||||
|
@ -259,13 +253,14 @@ These flags tell \fIack\fP to include the libraries needed when
|
||||||
a file with \fIsuffix\fP would be included in the arguments.
|
a file with \fIsuffix\fP would be included in the arguments.
|
||||||
.IP \-LIB
|
.IP \-LIB
|
||||||
This flag tells the peephole optimizer
|
This flag tells the peephole optimizer
|
||||||
.RF em_opt 6
|
em_opt(6)
|
||||||
to add information about the visibility of the names used
|
to add information about the visibility of the names used
|
||||||
to each output module.
|
to each output module.
|
||||||
This is needed by
|
This is needed by
|
||||||
assembler/linkers when these modules are to be inserted
|
assembler/linkers when these modules are to be inserted
|
||||||
in libraries.
|
in libraries.
|
||||||
|
.
|
||||||
|
.sp 1
|
||||||
.IP \-{xxx}
|
.IP \-{xxx}
|
||||||
The string starting after \`{\' and terminated by a \`}\' is passed
|
The string starting after \`{\' and terminated by a \`}\' is passed
|
||||||
as an option string to the Pascal compiler and supersedes corresponding
|
as an option string to the Pascal compiler and supersedes corresponding
|
||||||
|
@ -293,7 +288,8 @@ the defaults per program.
|
||||||
The changed options are recorded in the "e.out" header.
|
The changed options are recorded in the "e.out" header.
|
||||||
These flags \-\- and \-+ are passed to the assembler for this purpose.
|
These flags \-\- and \-+ are passed to the assembler for this purpose.
|
||||||
So, \-\-t and \-+pfce invert the defaults.
|
So, \-\-t and \-+pfce invert the defaults.
|
||||||
|
.
|
||||||
|
.sp 1
|
||||||
.IP \-R\fIprogram=xxx\fP
|
.IP \-R\fIprogram=xxx\fP
|
||||||
Replace the \fIprogram\fP by the pathname \fIxxx\fP.
|
Replace the \fIprogram\fP by the pathname \fIxxx\fP.
|
||||||
The program names referred to later in this manual are allowed here.
|
The program names referred to later in this manual are allowed here.
|
||||||
|
@ -320,7 +316,7 @@ Sparc, Vax, Intel 80386.
|
||||||
.PP
|
.PP
|
||||||
All arguments without a suffix or with an unrecognized suffix
|
All arguments without a suffix or with an unrecognized suffix
|
||||||
are passed to the loaders, as for flags.
|
are passed to the loaders, as for flags.
|
||||||
|
.
|
||||||
.SH PREPROCESSOR
|
.SH PREPROCESSOR
|
||||||
All C source programs are run through the preprocessor
|
All C source programs are run through the preprocessor
|
||||||
before they are fed to the compiler proper.
|
before they are fed to the compiler proper.
|
||||||
|
@ -341,40 +337,37 @@ EM_WSIZE:wordsize:EM_PSIZE:pointer size
|
||||||
EM_SSIZE:size of shorts (C):EM_LSIZE:size of longs (C+Pascal)
|
EM_SSIZE:size of shorts (C):EM_LSIZE:size of longs (C+Pascal)
|
||||||
EM_FSIZE:size of floats (C):EM_DSIZE:size of doubles (C+Pascal)
|
EM_FSIZE:size of floats (C):EM_DSIZE:size of doubles (C+Pascal)
|
||||||
.TE
|
.TE
|
||||||
.sp 1
|
.PP
|
||||||
The name of the \fImachine\fP or something like it when
|
The name of the \fImachine\fP or something like it when
|
||||||
the machine name is numeric is also defined (as 1).
|
the machine name is numeric is also defined (as 1).
|
||||||
As the ANSI C rules forbid this, in ANSI C, underscores are prepended to
|
As the ANSI C rules forbid this, in ANSI C, underscores are prepended to
|
||||||
these names.
|
these names.
|
||||||
.PP
|
.PP
|
||||||
The default directories searched for include files differ for each machine.
|
The default directories searched for include files differ for each machine.
|
||||||
|
.
|
||||||
.SH COMPILING B
|
.SH COMPILING B
|
||||||
|
B programs have special needs when compiled with the ACK.
|
||||||
B programs have special needs when compiled with the ACK. B modules have to be
|
B modules have to be
|
||||||
initialised before use, to convert pointer addresses to word addresses; this is
|
initialised before use, to convert pointer addresses to word addresses; this is
|
||||||
done automatically when compiling a single B source file to an executable, but
|
done automatically when compiling a single B source file to an executable, but
|
||||||
must be done manually when using separate compilation.
|
must be done manually when using separate compilation.
|
||||||
|
|
||||||
.PP
|
.PP
|
||||||
To do this, compile your B modules with the \fI-B\fP option as usual, and then
|
To do this, compile your B modules with the \fI-B\fP option as usual, and then
|
||||||
use the
|
use the
|
||||||
.B abmodules
|
.B abmodules
|
||||||
program to scan the object files and emit a C file which performs the
|
program to scan the object files and emit a C file which performs the
|
||||||
initialisation. Then compile this as well into an object file, and link the
|
initialisation.
|
||||||
whole lot together. The result will be a runnable executable.
|
Then compile this as well into an object file, and link the
|
||||||
|
whole lot together.
|
||||||
|
The result will be a runnable executable.
|
||||||
.PP
|
.PP
|
||||||
Beware --- referring to an uninitialised module will cause your program to
|
Beware \(em referring to an uninitialised module will cause your program to
|
||||||
crash!
|
crash!
|
||||||
|
|
||||||
.PP
|
.PP
|
||||||
The default initialiser in the B standard library looks for a module called
|
The default initialiser in the B standard library looks for a module called
|
||||||
\fBmain\fP.
|
\fBmain\fP.
|
||||||
|
|
||||||
.PP
|
.PP
|
||||||
For example:
|
For example:
|
||||||
|
|
||||||
.nf
|
.nf
|
||||||
.sp
|
.sp
|
||||||
ack -c -mpc86 thismodule.b -Bthismodule
|
ack -c -mpc86 thismodule.b -Bthismodule
|
||||||
|
@ -384,7 +377,7 @@ abmodules -o binit.c thismodule.o thatmodule.o theothermodule.o
|
||||||
ack -c -mpc86 binit.c
|
ack -c -mpc86 binit.c
|
||||||
ack -mpc86 -o pc86.exe thismodule.o thatmodule.o theothermodule.o binit.o
|
ack -mpc86 -o pc86.exe thismodule.o thatmodule.o theothermodule.o binit.o
|
||||||
.fi
|
.fi
|
||||||
|
.
|
||||||
.SH PROGRAMS
|
.SH PROGRAMS
|
||||||
\fIAck\fP uses one or more programs in each phase of the
|
\fIAck\fP uses one or more programs in each phase of the
|
||||||
transformation.
|
transformation.
|
||||||
|
@ -421,7 +414,7 @@ input:name:output:description
|
||||||
\&.o:cv:a.out:Conversion from Ack object to machine object
|
\&.o:cv:a.out:Conversion from Ack object to machine object
|
||||||
.TE
|
.TE
|
||||||
.in -2
|
.in -2
|
||||||
|
.
|
||||||
.SH "ENVIRONMENT VARIABLES"
|
.SH "ENVIRONMENT VARIABLES"
|
||||||
.IP ACKDIR
|
.IP ACKDIR
|
||||||
If set, this environment variable overrides ack's idea of its home
|
If set, this environment variable overrides ack's idea of its home
|
||||||
|
@ -432,13 +425,14 @@ machine it compiles for.
|
||||||
.IP ACKFE
|
.IP ACKFE
|
||||||
If set, this environment variable tells ack where to get the front-end
|
If set, this environment variable tells ack where to get the front-end
|
||||||
description file.
|
description file.
|
||||||
|
.
|
||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
.PD 0
|
|
||||||
em_opt(6), em_ass(6), em_cg(6), ack.out(5)
|
em_opt(6), em_ass(6), em_cg(6), ack.out(5)
|
||||||
.IP [1]
|
.IP [1]
|
||||||
A.S. Tanenbaum, Hans van Staveren, Ed Keizer and Johan
|
A.S. Tanenbaum, Hans van Staveren, Ed Keizer and Johan
|
||||||
Stevenson, \fIDescription of a machine architecture for use with
|
Stevenson, \fIDescription of a machine architecture for use with
|
||||||
block structured languages\fP, Informatica rapport IR-81.
|
block structured languages\fP, Informatica rapport IR-81.
|
||||||
|
.PD 0
|
||||||
.IP [2]
|
.IP [2]
|
||||||
K. Jensen and N. Wirth,
|
K. Jensen and N. Wirth,
|
||||||
\fIPASCAL, User manual and report\fP Springer Verlag.
|
\fIPASCAL, User manual and report\fP Springer Verlag.
|
||||||
|
@ -463,12 +457,13 @@ Informatica rapport IR-99.
|
||||||
.IP [11]
|
.IP [11]
|
||||||
C.J.H. Jacobs, \fIThe ACK Modula-2 Compiler\fP.
|
C.J.H. Jacobs, \fIThe ACK Modula-2 Compiler\fP.
|
||||||
.PD
|
.PD
|
||||||
|
.
|
||||||
.SH DIAGNOSTICS
|
.SH DIAGNOSTICS
|
||||||
.PD
|
|
||||||
The diagnostics are intended to be self\-explanatory.
|
The diagnostics are intended to be self\-explanatory.
|
||||||
|
.
|
||||||
.SH BUGS
|
.SH BUGS
|
||||||
Not all warning messages are superseded by \fB\-w\fP.
|
Not all warning messages are superseded by \fB\-w\fP.
|
||||||
.br
|
.PP
|
||||||
Argument assembly files are not preprocessed when fed into the
|
Argument assembly files are not preprocessed when fed into the
|
||||||
universal assembler/loader.
|
universal assembler/loader.
|
||||||
.SH AUTHOR
|
.SH AUTHOR
|
||||||
|
|
|
@ -1,18 +1,17 @@
|
||||||
.TH ABMODULES 1
|
.TH ABMODULES 1 2017-01-18
|
||||||
.SH NAME
|
.SH NAME
|
||||||
abmodules \- find B modules
|
abmodules \- find B modules
|
||||||
|
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
abmodules [ \-o outputfile.c ] [ file ... ]
|
abmodules [ \-o outputfile.c ] [ file ... ]
|
||||||
|
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
.I abmodules
|
.I abmodules
|
||||||
finds B modules in a set of ack.out(5) format object files, and either lists
|
finds B modules in a set of ack.out(5) format object files, and either lists
|
||||||
them or generates a C file which initialises the modules.
|
them or generates a C file which initialises the modules.
|
||||||
.PP
|
.PP
|
||||||
This tool is used for multiple compilation of B programs; B modules must be
|
This tool is used for multiple compilation of B programs; B modules must be
|
||||||
initiaised before use, and this tool generates the initialisation code for
|
initialised before use, and this tool generates the initialisation code for
|
||||||
programs containing an abitrary number of modules. See em_b(6) for details.
|
programs containing an abitrary number of modules.
|
||||||
|
See em_b(6) for details.
|
||||||
.PP
|
.PP
|
||||||
Options are:
|
Options are:
|
||||||
.TP
|
.TP
|
||||||
|
@ -20,8 +19,7 @@ Options are:
|
||||||
Write C source to
|
Write C source to
|
||||||
.I filename
|
.I filename
|
||||||
containing a definition of a binit() function which will initalise all modules
|
containing a definition of a binit() function which will initalise all modules
|
||||||
found. If not present, a simple list of module names is written to stdout
|
found.
|
||||||
instead.
|
If not present, a simple list of module names is written to stdout instead.
|
||||||
|
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
ack.out(5), em_b(6)
|
ack.out(5), em_b(6)
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
.TH AELFLOD 1 "$Revision$"
|
.TH AELFLOD 1 2017-01-18
|
||||||
.SH NAME
|
.SH NAME
|
||||||
aelflod \- ACK ELF loader
|
aelflod \- ACK ELF loader
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.B aelflod
|
.B aelflod
|
||||||
[-a\fInumber\fP] [-b] [-h] [-l] [-m\fInumber\fP] [-v] inputfile outputfile
|
[\-a\fInumber\fP] [\-b] [\-h] [\-l] [\-m\fInumber\fP] [\-v]
|
||||||
|
inputfile outputfile
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
.I aelflod
|
.I aelflod
|
||||||
converts an absolute ack.out file into a simple binary memory
|
converts an absolute ack.out file into a simple binary memory
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
.TH ANM 1 "$Revision$"
|
.TH ANM 1 2017-01-18
|
||||||
.SH NAME
|
.SH NAME
|
||||||
anm \- print name list
|
anm \- print name list
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
@ -7,7 +7,8 @@ anm [ \-gnoprus ] [ file ... ]
|
||||||
.I Anm
|
.I Anm
|
||||||
prints the name list (symbol table) of each ack.out(5) format object
|
prints the name list (symbol table) of each ack.out(5) format object
|
||||||
.I file
|
.I file
|
||||||
in the argument list. If an argument is an aal(1) or arch(1) archive,
|
in the argument list.
|
||||||
|
If an argument is an aal(1) or arch(1) archive,
|
||||||
a listing of each object file in the archive will be produced.
|
a listing of each object file in the archive will be produced.
|
||||||
If no
|
If no
|
||||||
.I file
|
.I file
|
||||||
|
@ -18,32 +19,24 @@ are listed.
|
||||||
Each symbol name is preceded by its value, a section indicator
|
Each symbol name is preceded by its value, a section indicator
|
||||||
and a type indicator.
|
and a type indicator.
|
||||||
A section indicator can be
|
A section indicator can be
|
||||||
.SM
|
.SB U
|
||||||
.B U
|
|
||||||
(undefined symbol),
|
(undefined symbol),
|
||||||
.SM
|
.SB A
|
||||||
.B A
|
|
||||||
(absolute symbol),
|
(absolute symbol),
|
||||||
.SM
|
.SB C
|
||||||
.B C
|
|
||||||
(common symbol), a section number (section related symbol),
|
(common symbol), a section number (section related symbol),
|
||||||
or
|
or
|
||||||
.SM
|
.SB \-
|
||||||
.B -
|
|
||||||
(other symbol).
|
(other symbol).
|
||||||
A type indicator can be
|
A type indicator can be
|
||||||
.SM
|
.SB F
|
||||||
.B F
|
|
||||||
(filename),
|
(filename),
|
||||||
.SM
|
.SB M
|
||||||
.B M
|
|
||||||
(module name),
|
(module name),
|
||||||
.SM
|
.SB E
|
||||||
.B E
|
|
||||||
(external (global) symbol),
|
(external (global) symbol),
|
||||||
or
|
or
|
||||||
.SM
|
.SB \-
|
||||||
.B -
|
|
||||||
(local symbol).
|
(local symbol).
|
||||||
The output is sorted alphabetically.
|
The output is sorted alphabetically.
|
||||||
.PP
|
.PP
|
||||||
|
@ -69,6 +62,5 @@ Print only undefined symbols.
|
||||||
.TP
|
.TP
|
||||||
.B \-s
|
.B \-s
|
||||||
Sort in section order.
|
Sort in section order.
|
||||||
.sh FILES
|
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
ack.out(5)
|
ack.out(5)
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
.TH ASLOD 1 "$Revision$"
|
.TH ASHOW 1 2017-01-18
|
||||||
.SH NAME
|
.SH NAME
|
||||||
ashow \- make the contents of an ACK object file human readable
|
ashow \- make the contents of an ACK object file human readable
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
ashow inputfile inputfile...
|
ashow inputfile inputfile...
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
.I ashow
|
.I ashow
|
||||||
dumps the contents of an ack.out file in human-readable form. It shows
|
dumps the contents of an ack.out file in human-readable form.
|
||||||
|
It shows
|
||||||
details of all symbols, relocation entries, sections, and other information.
|
details of all symbols, relocation entries, sections, and other information.
|
||||||
|
|
||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
ack.out(5)
|
ack.out(5)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
.TH ASIZE 1 "$Revision$"
|
.TH ASIZE 1 2017-01-18
|
||||||
.SH NAME
|
.SH NAME
|
||||||
asize \- size of an object file
|
asize \- size of an object file
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
.TH ASLOD 1 "$Revision$"
|
.TH ASLOD 1 2017-01-18
|
||||||
.SH NAME
|
.SH NAME
|
||||||
aslod \- ACK simple loader
|
aslod \- ACK simple loader
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.B aslod
|
.B aslod
|
||||||
[-h] [-v] inputfile outputfile
|
[\-h] [\-v] inputfile outputfile
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
.I aslod
|
.I aslod
|
||||||
converts an absolute ack.out file into a simple binary memory dump.
|
converts an absolute ack.out file into a simple binary memory dump.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
.TH ASTRIP 1 "$Revision$"
|
.TH ASTRIP 1 2017-01-18
|
||||||
.SH NAME
|
.SH NAME
|
||||||
astrip \- remove symbols and relocation information
|
astrip \- remove symbols and relocation information
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
@ -11,6 +11,7 @@ ack.out(5) format object files.
|
||||||
This is useful to save space after a program has been
|
This is useful to save space after a program has been
|
||||||
debugged.
|
debugged.
|
||||||
.SH FILES
|
.SH FILES
|
||||||
/tmp/s? temporary file
|
.IP /tmp/s? 16n
|
||||||
|
temporary file
|
||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
ack.out(5)
|
ack.out(5)
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
.\" $Id$
|
.TH AAL 1 2017-01-18
|
||||||
.TH AAL 1 "$Revision$"
|
|
||||||
.ad
|
.ad
|
||||||
.SH NAME
|
.SH NAME
|
||||||
aal \- archive and library maintainer
|
aal \- archive and library maintainer
|
||||||
|
@ -18,10 +17,10 @@ only understands archives made with
|
||||||
.PP
|
.PP
|
||||||
.I Key
|
.I Key
|
||||||
is one character from the set
|
is one character from the set
|
||||||
.B qdrtx,
|
.BR qdrtx ,
|
||||||
optionally concatenated with
|
optionally concatenated with
|
||||||
one or more of
|
one or more of
|
||||||
.B vlc.
|
.BR vlc .
|
||||||
.I Afile
|
.I Afile
|
||||||
is the archive file.
|
is the archive file.
|
||||||
The
|
The
|
||||||
|
@ -82,9 +81,10 @@ The create option supresses the normal message that is produced when
|
||||||
.I afile
|
.I afile
|
||||||
is created.
|
is created.
|
||||||
.SH FILES
|
.SH FILES
|
||||||
/tmp/ar.* temporaries
|
.IP /tmp/ar.* 16
|
||||||
|
temporaries
|
||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
led(6), arch(5),
|
led(6), arch(5)
|
||||||
.SH BUGS
|
.SH BUGS
|
||||||
If the same file is mentioned twice in an argument list,
|
If the same file is mentioned twice in an argument list,
|
||||||
it may be put in the archive twice.
|
it may be put in the archive twice.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
.TH "ACK.OUT" 5 "$Revision$"
|
.TH "ACK.OUT" 5 2017-01-18
|
||||||
.ad
|
.ad
|
||||||
.SH NAME
|
.SH NAME
|
||||||
ack.out\ \-\ ACK-assembler and link editor output
|
ack.out\ \-\ ACK-assembler and link editor output
|
||||||
|
@ -14,7 +14,7 @@ further processed on another.
|
||||||
.ta \w'#define x'u +\w'XXXXXXXX'u +\w'XXXXXXXXXXX'u
|
.ta \w'#define x'u +\w'XXXXXXXX'u +\w'XXXXXXXXXXX'u
|
||||||
.PP
|
.PP
|
||||||
In the following discussion, some structures are defined using
|
In the following discussion, some structures are defined using
|
||||||
\fBlong\fR and \fBshort\fR as type indicators.
|
\fBlong\fR and \fBshort\fR as type indicators.
|
||||||
It is assumed that the size of a short is 2 bytes (chars) and that the
|
It is assumed that the size of a short is 2 bytes (chars) and that the
|
||||||
size of a long is 4 bytes.
|
size of a long is 4 bytes.
|
||||||
However, these types
|
However, these types
|
||||||
|
@ -55,7 +55,9 @@ struct outhead {
|
||||||
};
|
};
|
||||||
.fi
|
.fi
|
||||||
.PP
|
.PP
|
||||||
|
.nf
|
||||||
#define HF_LINK 0x0004 /* unresolved references left */
|
#define HF_LINK 0x0004 /* unresolved references left */
|
||||||
|
.fi
|
||||||
.PP
|
.PP
|
||||||
The fields of this structure have the following purpose:
|
The fields of this structure have the following purpose:
|
||||||
.nr x \w'oh_magic\ \ \ 'u
|
.nr x \w'oh_magic\ \ \ 'u
|
||||||
|
@ -131,9 +133,10 @@ in tact.
|
||||||
.br
|
.br
|
||||||
The next part of an object file contains the sections themselves.
|
The next part of an object file contains the sections themselves.
|
||||||
Usually, the LED program places the sections right behind one another in the
|
Usually, the LED program places the sections right behind one another in the
|
||||||
target machine, taking the
|
target machine, taking the alignment requirements into account.
|
||||||
alignment requirements into account. However, the user is allowed to give
|
However, the user is allowed to give
|
||||||
the start addresses of each section. But if the user gave a start address for
|
the start addresses of each section.
|
||||||
|
But if the user gave a start address for
|
||||||
say section 2, but not for section 3, section 3 will be put
|
say section 2, but not for section 3, section 3 will be put
|
||||||
right behind section 2.
|
right behind section 2.
|
||||||
.PP
|
.PP
|
||||||
|
@ -194,13 +197,16 @@ The fields of this structure have the following purpose:
|
||||||
Contains several flags: One of RELO1, RELO2 and RELO4 is set, indicating the
|
Contains several flags: One of RELO1, RELO2 and RELO4 is set, indicating the
|
||||||
size of the relocatable datum, RELPC is set when the datum is
|
size of the relocatable datum, RELPC is set when the datum is
|
||||||
relocated pc relative, RELBR and RELWR indicate byte and word order of
|
relocated pc relative, RELBR and RELWR indicate byte and word order of
|
||||||
the relocatable datum. RELBR and RELWR are needed here. It is not sufficient
|
the relocatable datum.
|
||||||
|
RELBR and RELWR are needed here.
|
||||||
|
It is not sufficient
|
||||||
to have flags for them in the header of the object file, because some
|
to have flags for them in the header of the object file, because some
|
||||||
machines (NS 32016) use several of the possible combinations in their
|
machines (NS 32016) use several of the possible combinations in their
|
||||||
instruction encoding.
|
instruction encoding.
|
||||||
.IP or_sect \nxu
|
.IP or_sect \nxu
|
||||||
Contains the section number of the referenc\fIing\fR section. This is a number
|
Contains the section number of the referenc\fIing\fR section.
|
||||||
that lies between S_MIN and S_MAX. The section indicated with number S_MIN
|
This is a number that lies between S_MIN and S_MAX.
|
||||||
|
The section indicated with number S_MIN
|
||||||
is the first section in the sections-section, etc.
|
is the first section in the sections-section, etc.
|
||||||
.IP or_addr \nxu
|
.IP or_addr \nxu
|
||||||
Contains the address of the relocatable datum, in the form of an
|
Contains the address of the relocatable datum, in the form of an
|
||||||
|
@ -209,10 +215,12 @@ offset from the base of the section indicated in the \fIor_sect\fR field.
|
||||||
Usually contains the index of the referenced symbol in the symbol table,
|
Usually contains the index of the referenced symbol in the symbol table,
|
||||||
starting at 0.
|
starting at 0.
|
||||||
In this case, the reference is to an undefined external symbol, a common
|
In this case, the reference is to an undefined external symbol, a common
|
||||||
symbol, or a section name. The relocatable datum then contains
|
symbol, or a section name.
|
||||||
|
The relocatable datum then contains
|
||||||
an offset from the indicated symbol or the start of the indicated section.
|
an offset from the indicated symbol or the start of the indicated section.
|
||||||
It may, however, also have the same value as
|
It may, however, also have the same value as
|
||||||
the \fIoh_nname\fR field of the header. In this case the relocatable datum
|
the \fIoh_nname\fR field of the header.
|
||||||
|
In this case the relocatable datum
|
||||||
is an absolute number, and the datum is relocated pc relative.
|
is an absolute number, and the datum is relocated pc relative.
|
||||||
The relocatable datum must then be relocated with respect to the
|
The relocatable datum must then be relocated with respect to the
|
||||||
base address of its section.
|
base address of its section.
|
||||||
|
@ -250,12 +258,13 @@ struct outname {
|
||||||
.PP
|
.PP
|
||||||
The members of this structure have the following purpose:
|
The members of this structure have the following purpose:
|
||||||
.IP on_foff \nxu
|
.IP on_foff \nxu
|
||||||
Contains the offset of the name from the beginning of the file. The name
|
Contains the offset of the name from the beginning of the file.
|
||||||
extends from the offset to the next null byte.
|
The name extends from the offset to the next null byte.
|
||||||
.IP on_type \nxu
|
.IP on_type \nxu
|
||||||
The S_TYP field of this member contains the section number of the symbol.
|
The S_TYP field of this member contains the section number of the symbol.
|
||||||
Here, this number may be S_ABS for an absolute item, or S_UND, for an
|
Here, this number may be S_ABS for an absolute item, or S_UND, for an
|
||||||
undefined item. The S_EXT flag is set in this member if the symbol is external.
|
undefined item.
|
||||||
|
The S_EXT flag is set in this member if the symbol is external.
|
||||||
The S_ETC field has the following flags:
|
The S_ETC field has the following flags:
|
||||||
S_SCT is set if the symbol represents a section name,
|
S_SCT is set if the symbol represents a section name,
|
||||||
S_COM is set if the symbol represents a common name,
|
S_COM is set if the symbol represents a common name,
|
||||||
|
@ -265,15 +274,16 @@ and S_MOD is set if the symbol refers to an assembler source file item.
|
||||||
.IP on_desc \nxu
|
.IP on_desc \nxu
|
||||||
Currently not used.
|
Currently not used.
|
||||||
.IP on_valu \nxu
|
.IP on_valu \nxu
|
||||||
Is not used if the symbol refers to an undefined item. For absolute items
|
Is not used if the symbol refers to an undefined item.
|
||||||
|
For absolute items
|
||||||
it contains the value, for common names it contains the size, and
|
it contains the value, for common names it contains the size, and
|
||||||
for anything else it contains the offset from the beginning of the section.
|
for anything else it contains the offset from the beginning of the section.
|
||||||
In a fully linked binary, the beginning of the section is added.
|
In a fully linked binary, the beginning of the section is added.
|
||||||
.PP
|
.PP
|
||||||
.B The string area.
|
.B The string area.
|
||||||
.br
|
.br
|
||||||
The last part of an object file contains the name list. This is just a
|
The last part of an object file contains the name list.
|
||||||
sequence of null-terminated strings.
|
This is just a sequence of null-terminated strings.
|
||||||
.PP
|
.PP
|
||||||
The relocation information, the symbol table, and the name list do not
|
The relocation information, the symbol table, and the name list do not
|
||||||
have to be present, but then of course we do not have a relocatable
|
have to be present, but then of course we do not have a relocatable
|
||||||
|
@ -283,7 +293,6 @@ object file.
|
||||||
.br
|
.br
|
||||||
The following miscellaneous defines might come in handy when reading
|
The following miscellaneous defines might come in handy when reading
|
||||||
object files:
|
object files:
|
||||||
.fi
|
|
||||||
.PP
|
.PP
|
||||||
.nf
|
.nf
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
.TH LED 6 "$Revision$"
|
.TH LED 6 2017-01-18
|
||||||
.ad
|
.ad
|
||||||
.SH NAME
|
.SH NAME
|
||||||
led \- link editor
|
led \- link editor
|
||||||
|
@ -78,7 +78,7 @@ The previous remarks about
|
||||||
and
|
and
|
||||||
.I nnnn
|
.I nnnn
|
||||||
apply.
|
apply.
|
||||||
.TP
|
.TP
|
||||||
.B \-o
|
.B \-o
|
||||||
The
|
The
|
||||||
.I name
|
.I name
|
||||||
|
@ -88,7 +88,7 @@ is used as the name of the
|
||||||
.I led
|
.I led
|
||||||
output file, instead of
|
output file, instead of
|
||||||
.BR a.out .
|
.BR a.out .
|
||||||
.TP
|
.TP
|
||||||
.B \-r
|
.B \-r
|
||||||
Generate relocation information in the output file
|
Generate relocation information in the output file
|
||||||
so that it can be the subject of another
|
so that it can be the subject of another
|
||||||
|
@ -104,7 +104,8 @@ at load time. This flag disables the \fB\-r\fP flag.
|
||||||
.TP
|
.TP
|
||||||
.B \-n
|
.B \-n
|
||||||
Usually, after linking, a value in the namelist represents an absolute
|
Usually, after linking, a value in the namelist represents an absolute
|
||||||
address. Sometimes, particularly when using the \fB\-c\fR flag, it may be
|
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
|
useful to have as value the offset with respect to the beginning of the
|
||||||
corresponding section. The \fB\-n\fR flag enables this.
|
corresponding section. The \fB\-n\fR flag enables this.
|
||||||
.TP
|
.TP
|
||||||
|
@ -112,7 +113,7 @@ corresponding section. The \fB\-n\fR flag enables this.
|
||||||
`Strip' the output, that is, remove the name table
|
`Strip' the output, that is, remove the name table
|
||||||
and relocation information to save space (but impair the
|
and relocation information to save space (but impair the
|
||||||
usefulness of the debuggers).
|
usefulness of the debuggers).
|
||||||
.TP
|
.TP
|
||||||
.B \-u
|
.B \-u
|
||||||
Take the following argument as a symbol and enter
|
Take the following argument as a symbol and enter
|
||||||
it as undefined in the name table.
|
it as undefined in the name table.
|
||||||
|
@ -129,9 +130,12 @@ chose to link it (which unresolved reference it resolves).
|
||||||
This option is useful in resolving 'multiply defined' problems.
|
This option is useful in resolving 'multiply defined' problems.
|
||||||
.SH FILES
|
.SH FILES
|
||||||
~em/lib.bin/em_led
|
~em/lib.bin/em_led
|
||||||
a.out output file
|
.PD 0
|
||||||
|
.IP a.out 24n
|
||||||
|
output file
|
||||||
|
.PD
|
||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
ack(1)
|
ack(1),
|
||||||
arch(1)
|
arch(1),
|
||||||
ack.out.h(5)
|
ack.out.h(5),
|
||||||
uni_ass(6)
|
uni_ass(6)
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
.\" $Id$
|
.TH EM_DECODE 6 2017-01-18
|
||||||
.TH EM_DECODE 6 "$Revision$"
|
|
||||||
.ad
|
.ad
|
||||||
.SH NAME
|
.SH NAME
|
||||||
em_decode,em_encode \- compact to readable EM and v.v.
|
em_decode, em_encode \- compact to readable EM and v.v.
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.B ~em/lib.bin/em_decode
|
.B ~em/lib.bin/em_decode
|
||||||
[ inputfile [ outputfile ] ]
|
[ inputfile [ outputfile ] ]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
.TH ESIZE I
|
.TH ESIZE 1 2017-01-18
|
||||||
.SH NAME
|
.SH NAME
|
||||||
esize \- print info from e.out header
|
esize \- print info from e.out header
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
@ -9,7 +9,8 @@ esize \- print info from e.out header
|
||||||
prints information from the
|
prints information from the
|
||||||
.I e.out
|
.I e.out
|
||||||
headers of the indicated files, including flags, word and pointer sizes,
|
headers of the indicated files, including flags, word and pointer sizes,
|
||||||
text and data sizes, etc. All values are in decimal.
|
text and data sizes, etc.
|
||||||
|
All values are in decimal.
|
||||||
.PP
|
.PP
|
||||||
If no parameters are given, the header of
|
If no parameters are given, the header of
|
||||||
.I e.out
|
.I e.out
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
.\" $Id$
|
.TH EM_OPT 6 2017-01-18
|
||||||
.TH EM_OPT 6 "$Revision$"
|
|
||||||
.ad
|
.ad
|
||||||
.SH NAME
|
.SH NAME
|
||||||
em_opt \- EM peephole optimizer
|
em_opt \- EM peephole optimizer
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.B ~em/lib.bin/em_opt
|
.B ~em/lib.bin/em_opt
|
||||||
[-Ln] [-m[l]<num>] [ argument ]
|
[\-Ln] [\-m[l]<num>] [ argument ]
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
Em_opt reads a compact EM-program, argument or standard input,
|
Em_opt reads a compact EM-program, argument or standard input,
|
||||||
and produces another compact EM program on standard output
|
and produces another compact EM program on standard output
|
||||||
|
@ -15,22 +14,22 @@ Some other functions are here that make this program mandatory
|
||||||
before running a codegenerator,
|
before running a codegenerator,
|
||||||
it may be left out when interpretation is wanted.
|
it may be left out when interpretation is wanted.
|
||||||
Flags recognized are:
|
Flags recognized are:
|
||||||
.IP -L
|
.IP \-L
|
||||||
Make a library module.
|
Make a library module.
|
||||||
This means that the output will start with a message giving
|
This means that the output will start with a message giving
|
||||||
the names of all exported entities in this module.
|
the names of all exported entities in this module.
|
||||||
.IP -n
|
.IP \-n
|
||||||
Do not optimize.
|
Do not optimize.
|
||||||
No peephole optimizations will be performed,
|
No peephole optimizations will be performed,
|
||||||
other functions will be carried out.
|
other functions will be carried out.
|
||||||
.IP -m<num>
|
.IP \-m<num>
|
||||||
Try to replace multiplies with constants by combinations of shifts and adds,
|
Try to replace multiplies with constants by combinations of shifts and adds,
|
||||||
but no more than <num> of them. Integer overflow detection is lost with this
|
but no more than <num> of them.
|
||||||
option.
|
Integer overflow detection is lost with this option.
|
||||||
.IP -ml<num>
|
.IP \-ml<num>
|
||||||
Like -m<num>, but also for long multiplies.
|
Like \-m<num>, but also for long multiplies.
|
||||||
.SH "FILES"
|
.SH "FILES"
|
||||||
/tmp/emopt??????, is used when the -L flag is given only.
|
/tmp/emopt??????, is used when the \-L flag is given only.
|
||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
ack(1)
|
ack(1)
|
||||||
.PD 0
|
.PD 0
|
||||||
|
|
Loading…
Reference in a new issue