1179100Syongari		README for GAS
2179100Syongari
3179100SyongariA number of things have changed since version 1 and the wonderful
4179100Syongariworld of gas looks very different.  There's still a lot of irrelevant
5179100Syongarigarbage lying around that will be cleaned up in time.  Documentation
6179100Syongariis scarce, as are logs of the changes made since the last gas release.
7179100SyongariMy apologies, and I'll try to get something useful.
8179100Syongari
9179100SyongariUnpacking and Installation - Summary
10179100Syongari====================================
11179100Syongari
12179100SyongariSee ../binutils/README.
13179100Syongari
14179100SyongariTo build just the assembler, make the target all-gas.
15179100Syongari
16179100SyongariDocumentation
17179100Syongari=============
18179100Syongari
19179100SyongariThe GAS release includes texinfo source for its manual, which can be processed
20179100Syongariinto `info' or `dvi' forms.
21179100Syongari
22179100SyongariThe DVI form is suitable for printing or displaying; the commands for doing
23179100Syongarithis vary from system to system.  On many systems, `lpr -d' will print a DVI
24179100Syongarifile.  On others, you may need to run a program such as `dvips' to convert the
25179100SyongariDVI file into a form your system can print.
26179100Syongari
27179100SyongariIf you wish to build the DVI file, you will need to have TeX installed on your
28179100Syongarisystem.  You can rebuild it by typing:
29179100Syongari
30179100Syongari	cd gas/doc
31179100Syongari	make as.dvi
32179100Syongari
33179100SyongariThe Info form is viewable with the GNU Emacs `info' subsystem, or the
34179100Syongaristand-alone `info' program, available as part of the GNU Texinfo distribution.
35179100SyongariTo build the info files, you will need the `makeinfo' program.  Type:
36179100Syongari
37179100Syongari	cd gas/doc
38179100Syongari	make info
39179100Syongari
40179100SyongariSpecifying names for hosts and targets
41179100Syongari======================================
42179100Syongari
43179100Syongari   The specifications used for hosts and targets in the `configure'
44179100Syongariscript are based on a three-part naming scheme, but some short
45179100Syongaripredefined aliases are also supported.  The full naming scheme encodes
46179100Syongarithree pieces of information in the following pattern:
47179100Syongari
48179100Syongari     ARCHITECTURE-VENDOR-OS
49179100Syongari
50179100Syongari   For example, you can use the alias `sun4' as a HOST argument or in a
51179100Syongari`--target=TARGET' option.  The equivalent full name is
52179100Syongari`sparc-sun-sunos4'.
53179100Syongari
54179100Syongari   The `configure' script accompanying GAS does not provide any query
55179100Syongarifacility to list all supported host and target names or aliases. 
56179100Syongari`configure' calls the Bourne shell script `config.sub' to map
57179100Syongariabbreviations to full names; you can read the script, if you wish, or
58179100Syongariyou can use it to test your guesses on abbreviations--for example:
59179100Syongari
60179100Syongari     % sh config.sub i386v
61179100Syongari     i386-unknown-sysv
62179100Syongari     % sh config.sub i786v
63179100Syongari     Invalid configuration `i786v': machine `i786v' not recognized
64179100Syongari
65179100Syongari
66179100Syongari`configure' options
67179100Syongari===================
68179100Syongari
69179100Syongari   Here is a summary of the `configure' options and arguments that are
70179100Syongarimost often useful for building GAS.  `configure' also has several other
71179100Syongarioptions not listed here.
72179100Syongari
73179100Syongari     configure [--help]
74179100Syongari               [--prefix=DIR]
75179100Syongari               [--srcdir=PATH]
76179100Syongari               [--host=HOST]
77179100Syongari               [--target=TARGET]
78179100Syongari               [--with-OPTION]
79179100Syongari               [--enable-OPTION]
80179100Syongari
81179100SyongariYou may introduce options with a single `-' rather than `--' if you
82179100Syongariprefer; but you may abbreviate option names if you use `--'.
83179100Syongari
84179100Syongari`--help'
85179100Syongari     Print a summary of the options to `configure', and exit.
86179100Syongari
87179100Syongari`-prefix=DIR'
88179100Syongari     Configure the source to install programs and files under directory
89179100Syongari     `DIR'.
90179100Syongari
91179100Syongari`--srcdir=PATH'
92179100Syongari     Look for the package's source code in directory DIR.  Usually
93179100Syongari     `configure' can determine that directory automatically.
94179100Syongari
95179100Syongari`--host=HOST'
96179100Syongari     Configure GAS to run on the specified HOST.  Normally the
97179100Syongari     configure script can figure this out automatically.
98179100Syongari
99179100Syongari     There is no convenient way to generate a list of all available
100179100Syongari     hosts.
101179100Syongari
102179100Syongari`--target=TARGET'
103179100Syongari     Configure GAS for cross-assembling programs for the specified
104179100Syongari     TARGET.  Without this option, GAS is configured to assemble .o files
105179100Syongari     that run on the same machine (HOST) as GAS itself.
106179100Syongari
107179100Syongari     There is no convenient way to generate a list of all available
108179100Syongari     targets.
109179100Syongari
110179100Syongari`--enable-OPTION'
111179100Syongari     These flags tell the program or library being configured to 
112179100Syongari     configure itself differently from the default for the specified
113179100Syongari     host/target combination.  See below for a list of `--enable'
114179100Syongari     options recognized in the gas distribution.
115179100Syongari
116179100Syongari`configure' accepts other options, for compatibility with configuring
117179100Syongariother GNU tools recursively; but these are the only options that affect
118179100SyongariGAS or its supporting libraries.
119179100Syongari
120179100SyongariThe `--enable' options recognized by software in the gas distribution are:
121179100Syongari
122216925Sjhb`--enable-targets=...'
123179100Syongari     This causes one or more specified configurations to be added to those for
124179100Syongari     which BFD support is compiled.  Currently gas cannot use any format other
125179100Syongari     than its compiled-in default, so this option is not very useful.
126179100Syongari
127179100Syongari`--enable-bfd-assembler'
128179100Syongari     This causes the assembler to use the new code being merged into it to use
129179100Syongari     BFD data structures internally, and use BFD for writing object files.
130179100Syongari     For most targets, this isn't supported yet.  For most targets where it has
131179100Syongari     been done, it's already the default.  So generally you won't need to use
132179100Syongari     this option.
133179100Syongari
134179100SyongariCompiler Support Hacks
135179100Syongari======================
136179100Syongari
137179100SyongariOn a few targets, the assembler has been modified to support a feature
138179100Syongarithat is potentially useful when assembling compiler output, but which
139179100Syongarimay confuse assembly language programmers.  If assembler encounters a
140179100Syongari.word pseudo-op of the form symbol1-symbol2 (the difference of two
141179100Syongarisymbols), and the difference of those two symbols will not fit in 16
142179100Syongaribits, the assembler will create a branch around a long jump to
143179100Syongarisymbol1, and insert this into the output directly before the next
144179100Syongarilabel: The .word will (instead of containing garbage, or giving an
145179100Syongarierror message) contain (the address of the long jump)-symbol2.  This
146179100Syongariallows the assembler to assemble jump tables that jump to locations
147179100Syongarivery far away into code that works properly.  If the next label is
148179100Syongarimore than 32K away from the .word, you lose (silently); RMS claims
149179100Syongarithis will never happen.  If the -K option is given, you will get a
150179100Syongariwarning message when this happens.
151179100Syongari
152179100Syongari
153179100SyongariREPORTING BUGS IN GAS
154179100Syongari=====================
155179100Syongari
156179100SyongariBugs in gas should be reported to:
157179100Syongari
158179100Syongari   bug-binutils@gnu.org.
159179100Syongari
160179100SyongariThey may be cross-posted to gcc-bugs@gnu.org if they affect the use of
161179100Syongarigas with gcc.  They should not be reported just to gcc-bugs, since not
162179100Syongariall of the maintainers read that list.
163179100Syongari
164179100SyongariSee ../binutils/README for what we need in a bug report.
165179100Syongari