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