* arch/lc3b/README, arch/x86/README: Remove (replaced by man page).

* yasm_arch.xml, yasm_arch.7: Add new man page describing architectures.

* yasm.xml, yasm.1: Reference yasm_arch(7).

* Makefile.am: Add build rules for .7 man pages.

* modules/arch/Makefile.inc: Build yasm_arch.7.

svn path=/trunk/yasm/; revision=1140
This commit is contained in:
Peter Johnson 2004-09-10 22:58:04 +00:00
parent 83ad81cf4f
commit f916f1c79d
10 changed files with 220 additions and 37 deletions

View file

@ -87,10 +87,15 @@ distclean-local:
if BUILD_MAN
.xml.1:
$(XMLTO) -o $(@D) man $<
.xml.7:
$(XMLTO) -o $(@D) man $<
else
.xml.1:
@echo "Not rebuilding man page from $<"
cp `test -f $*.1 || echo '$(srcdir)/'`$*.1 $@
.xml.7:
@echo "Not rebuilding man page from $<"
cp `test -f $*.7 || echo '$(srcdir)/'`$*.7 $@
endif
BUILT_SOURCES += $(man_MANS)

View file

@ -66,7 +66,7 @@ Prints a summary of invocation options\&. All other options are ignored, and no
.TP
\fB\-a \fIarch\fR\fR or \fB\-\-arch=\fIarch\fR\fR
Selects the target architecture\&. The default architecture is ``x86'', which supports both the IA\-32 and derivatives and AMD64 instruction sets\&. To print a list of available architectures to standard output, use ``help'' as \fIarch\fR\&.
Selects the target architecture\&. The default architecture is ``x86'', which supports both the IA\-32 and derivatives and AMD64 instruction sets\&. To print a list of available architectures to standard output, use ``help'' as \fIarch\fR\&. See \fByasm_arch\fR(7) for more details\&.
.TP
\fB\-p \fIparser\fR\fR or \fB\-\-parser=\fIparser\fR\fR
@ -90,7 +90,7 @@ Specifies the name of the output file, overriding any default name selected by \
.TP
\fB\-m \fImachine\fR\fR or \fB\-\-machine=\fImachine\fR\fR
Selects the target machine architecture\&. Essentially a subtype of the selected architecture, the machine type selects between major subsets of an architecture\&. For example, for the ``x86'' architecture, the two available machines are ``x86'', which is used for the IA\-32 and derivative 32\-bit instruction set, and ``amd64'', which is used for the 64\-bit instruction set\&. This differentiation is required to generate the proper object file for relocatable object formats such as COFF and ELF\&. To print a list of available machines for a given architecture to standard output, use ``help'' as \fImachine\fR and the given architecture using \fB\-a \fIarch\fR\fR\&.
Selects the target machine architecture\&. Essentially a subtype of the selected architecture, the machine type selects between major subsets of an architecture\&. For example, for the ``x86'' architecture, the two available machines are ``x86'', which is used for the IA\-32 and derivative 32\-bit instruction set, and ``amd64'', which is used for the 64\-bit instruction set\&. This differentiation is required to generate the proper object file for relocatable object formats such as COFF and ELF\&. To print a list of available machines for a given architecture to standard output, use ``help'' as \fImachine\fR and the given architecture using \fB\-a \fIarch\fR\fR\&. See \fByasm_arch\fR(7) for more details\&.
.SH "WARNING OPTIONS"
@ -183,12 +183,12 @@ Relocatable object formats are limited to static linking applications, as YASM c
.SH "SEE ALSO"
.PP
\fBas\fR(1), \fBld\fR(1), \fBnasm\fR(1)
\fBas\fR(1), \fBld\fR(1), \fBnasm\fR(1), \fByasm_arch\fR(7)
.SH "BUGS"
.PP
When using the ``x86'' architecture, it is over\-easy to generate AMD64 code (using the \fBBITS 64\fR directive) and generate a 32\-bit object file (by failing to specify \fB\-m amd64\fR on the command line)\&. Similarly, specifying \fB\-m amd64\fR does not default the BITS setting to 64\&.
When using the ``x86'' architecture, it is overly easy to generate AMD64 code (using the \fBBITS 64\fR directive) and generate a 32\-bit object file (by failing to specify\fB\-m amd64\fR on the command line)\&. Similarly, specifying\fB\-m amd64\fR does not default the BITS setting to 64\&.
.SH AUTHOR
Peter Johnson <peter@tortall\&.net>.

View file

@ -129,12 +129,15 @@
<listitem>
<para>Selects the target architecture. The default
architecture is <quote>x86</quote>, which supports both
the IA-32 and derivatives and AMD64 instruction sets. To
print a list of available architectures to standard
output, use <quote>help</quote> as
<replaceable>arch</replaceable>.</para>
<para>Selects the target architecture. The default
architecture is <quote>x86</quote>, which supports both
the IA-32 and derivatives and AMD64 instruction sets. To
print a list of available architectures to standard
output, use <quote>help</quote> as
<replaceable>arch</replaceable>. See <citerefentry>
<refentrytitle>yasm_arch</refentrytitle>
<manvolnum>7</manvolnum>
</citerefentry> for more details.</para>
</listitem>
</varlistentry>
@ -231,20 +234,25 @@
<listitem>
<para>Selects the target machine architecture. Essentially a
subtype of the selected architecture, the machine type
selects between major subsets of an architecture. For
example, for the <quote>x86</quote> architecture, the two
available machines are <quote>x86</quote>, which is used
for the IA-32 and derivative 32-bit instruction set, and
<quote>amd64</quote>, which is used for the 64-bit
instruction set. This differentiation is required to
generate the proper object file for relocatable object
formats such as COFF and ELF. To print a list of available
machines for a given architecture to standard output, use
<quote>help</quote> as <replaceable>machine</replaceable>
and the given architecture using <option>-a
<replaceable>arch</replaceable></option>.</para>
<para>Selects the target machine architecture. Essentially a
subtype of the selected architecture, the machine type
selects between major subsets of an architecture. For
example, for the <quote>x86</quote> architecture, the two
available machines are <quote>x86</quote>, which is used
for the IA-32 and derivative 32-bit instruction set, and
<quote>amd64</quote>, which is used for the 64-bit
instruction set. This differentiation is required to
generate the proper object file for relocatable object
formats such as COFF and ELF. To print a list of
available machines for a given architecture to standard
output, use <quote>help</quote> as
<replaceable>machine</replaceable> and the given
architecture using <option>-a
<replaceable>arch</replaceable></option>. See
<citerefentry>
<refentrytitle>yasm_arch</refentrytitle>
<manvolnum>7</manvolnum>
</citerefentry> for more details.</para>
</listitem>
</varlistentry>
@ -449,18 +457,22 @@
<citerefentry>
<refentrytitle>nasm</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>yasm_arch</refentrytitle>
<manvolnum>7</manvolnum>
</citerefentry></para>
</refsect1>
<refsect1><title>Bugs</title>
<para>When using the <quote>x86</quote> architecture, it is over-easy to
generate AMD64 code (using the <userinput>BITS 64</userinput>
directive) and generate a 32-bit object file (by failing to specify
<option>-m amd64</option> on the command line). Similarly, specifying
<option>-m amd64</option> does not default the BITS setting to
64.</para>
<para>When using the <quote>x86</quote> architecture, it is overly easy to
generate AMD64 code (using the <userinput>BITS 64</userinput>
directive) and generate a 32-bit object file (by failing to specify
<option>-m amd64</option> on the command line). Similarly, specifying
<option>-m amd64</option> does not default the BITS setting to
64.</para>
</refsect1>

View file

@ -5,3 +5,6 @@ EXTRA_DIST += modules/arch/lc3b/Makefile.inc
include modules/arch/x86/Makefile.inc
include modules/arch/lc3b/Makefile.inc
man_MANS += modules/arch/yasm_arch.7
EXTRA_DIST += modules/arch/yasm_arch.xml

View file

@ -21,7 +21,6 @@ BUILT_SOURCES += lc3bid.c
CLEANFILES += lc3bid.c
EXTRA_DIST += modules/arch/lc3b/tests/Makefile.inc
EXTRA_DIST += modules/arch/lc3b/README
EXTRA_DIST += modules/arch/lc3b/lc3bid.re
include modules/arch/lc3b/tests/Makefile.inc

View file

@ -1,3 +0,0 @@
Architecture to support the LC-3b ISA as used in the ECE 312 course at the
University of Illinois, Urbana-Champaign.
See http://courses.ece.uiuc.edu/ece312/ for more details.

View file

@ -22,7 +22,6 @@ BUILT_SOURCES += x86id.c
CLEANFILES += x86id.c
EXTRA_DIST += modules/arch/x86/tests/Makefile.inc
EXTRA_DIST += modules/arch/x86/README
EXTRA_DIST += modules/arch/x86/x86id.re
include modules/arch/x86/tests/Makefile.inc

View file

@ -1,2 +0,0 @@
Architecture to support Intel IA-32, AMD x86-64, and other extensions and
derivatives of the x86 instruction set.

60
modules/arch/yasm_arch.7 Normal file
View file

@ -0,0 +1,60 @@
.\"Generated by db2man.xsl. Don't modify this, modify the source.
.de Sh \" Subsection
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.TH "YASM_ARCH" 7 "September 2004" "YASM" "YASM Architectures"
.SH NAME
yasm_arch \- YASM Architectures
.SH "SYNOPSIS"
.ad l
.hy 0
.HP 5
\fByasm\fR \fB\-a\ \fIarch\fR\fR [\fB\-m\ \fImachine\fR\fR] \fB\fI\&.\&.\&.\fR\fR
.ad
.hy
.SH "DESCRIPTION"
.PP
The standard YASM distribution includes a number of loadable modules for different target architectures\&. Additional target architectures may be installed as third\-party modules\&. Each target architecture can support one or more machine architectures\&.
.PP
The architecture and machine are selected on the \fByasm\fR(1) command line by use of the \fB\-a \fIarch\fR\fR and \fB\-m \fImachine\fR\fR command line options, respectively\&.
.SH "X86 ARCHITECTURE"
.PP
The ``x86'' architecture supports the IA\-32 instruction set and derivatives and the AMD64 instruction set\&. It consists of two machines: ``x86'' (for the IA\-32 and derivatives) and``amd64'' (for the AMD64 and derivatives)\&. The default machine for the ``x86'' architecture is the``x86'' machine\&.
.SH "LC3B ARCHITECTURE"
.PP
The ``lc3b'' architecture supports the LC\-3b ISA as used in the ECE 312 (now ECE 411) course at the University of Illinois, Urbana\-Champaign, as well as other university courses\&. See \fIhttp://courses.ece.uiuc.edu/ece411/\fR for more details and example code\&. The ``lc3b'' architecture consists of only one machine: ``lc3b''\&.
.SH "SEE ALSO"
.PP
\fByasm\fR(1)
.SH "BUGS"
.PP
When using the ``x86'' architecture, it is overly easy to generate AMD64 code (using the \fBBITS 64\fR directive) and generate a 32\-bit object file (by failing to specify\fB\-m amd64\fR on the command line)\&. Similarly, specifying\fB\-m amd64\fR does not default the BITS setting to 64\&.
.SH AUTHOR
Peter Johnson <peter@tortall\&.net>.

110
modules/arch/yasm_arch.xml Normal file
View file

@ -0,0 +1,110 @@
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<!-- $Id$ -->
<refentry id="yasm_arch">
<refentryinfo>
<title>YASM Architectures</title>
<date>September 2004</date>
<productname>YASM</productname>
<author>
<firstname>Peter</firstname>
<surname>Johnson</surname>
<affiliation>
<address><email>peter@tortall.net</email></address>
</affiliation>
</author>
<copyright>
<year>2004</year>
<holder>Peter Johnson</holder>
</copyright>
</refentryinfo>
<refmeta>
<refentrytitle>yasm_arch</refentrytitle>
<manvolnum>7</manvolnum>
</refmeta>
<refnamediv>
<refname>yasm_arch</refname>
<refpurpose>YASM Architectures</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>yasm</command>
<arg choice="plain">
<option>-a <replaceable>arch</replaceable></option>
</arg>
<arg choice="opt">
<option>-m <replaceable>machine</replaceable></option>
</arg>
<arg choice="plain">
<option><replaceable>...</replaceable></option>
</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>The standard YASM distribution includes a number of loadable modules
for different target architectures. Additional target architectures
may be installed as third-party modules. Each target architecture can
support one or more machine architectures.</para>
<para>The architecture and machine are selected on the <citerefentry>
<refentrytitle>yasm</refentrytitle> <manvolnum>1</manvolnum>
</citerefentry> command line by use of the <option>-a
<replaceable>arch</replaceable></option> and <option>-m
<replaceable>machine</replaceable></option> command line options,
respectively.</para>
</refsect1>
<refsect1><title>x86 Architecture</title>
<para>The <quote>x86</quote> architecture supports the IA-32 instruction
set and derivatives and the AMD64 instruction set. It consists of two
machines: <quote>x86</quote> (for the IA-32 and derivatives) and
<quote>amd64</quote> (for the AMD64 and derivatives). The default
machine for the <quote>x86</quote> architecture is the
<quote>x86</quote> machine.</para>
</refsect1>
<refsect1><title>lc3b Architecture</title>
<para>The <quote>lc3b</quote> architecture supports the LC-3b ISA as used
in the ECE 312 (now ECE 411) course at the University of Illinois,
Urbana-Champaign, as well as other university courses. See <ulink
url="http://courses.ece.uiuc.edu/ece411/"/> for more details and
example code. The <quote>lc3b</quote> architecture consists of only
one machine: <quote>lc3b</quote>.</para>
</refsect1>
<refsect1><title>See Also</title>
<para><citerefentry>
<refentrytitle>yasm</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry></para>
</refsect1>
<refsect1><title>Bugs</title>
<para>When using the <quote>x86</quote> architecture, it is overly easy to
generate AMD64 code (using the <userinput>BITS 64</userinput>
directive) and generate a 32-bit object file (by failing to specify
<option>-m amd64</option> on the command line). Similarly, specifying
<option>-m amd64</option> does not default the BITS setting to
64.</para>
</refsect1>
</refentry>