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
					
				
					 17 changed files with 166 additions and 179 deletions
				
			
		|  | @ -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,4 +1,4 @@ | ||||||
| .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 | ||||||
|  | @ -17,7 +17,7 @@ The input is taken from | ||||||
| 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 | ||||||
|  | @ -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 | ||||||
|  | @ -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 | ||||||
|  | @ -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…
	
	Add table
		
		Reference in a new issue