| 1 | This is the beta-test version of the GNU assembler. (Probably |
| 2 | around Version 1.35, but check version.c which gets updated more |
| 3 | often than this readme.) |
| 4 | |
| 5 | The assembler has been modified to support a feature that is |
| 6 | potentially useful when assembling compiler output, but which may |
| 7 | confuse assembly language programmers. If assembler encounters a |
| 8 | .word pseudo-op of the form symbol1-symbol2 (the difference of two |
| 9 | symbols), and the difference of those two symbols will not fit in 16 |
| 10 | bits, the assembler will create a branch around a long jump to |
| 11 | symbol1, and insert this into the output directly before the next |
| 12 | label: The .word will (instead of containing garbage, or giving an |
| 13 | error message) contain (the address of the long jump)-symbol2. This |
| 14 | allows the assembler to assemble jump tables that jump to locations |
| 15 | very far away into code that works properly. If the next label is |
| 16 | more than 32K away from the .word, you lose (silently) RMS claims |
| 17 | this will never happen. If the -k option is given, you will get a |
| 18 | warning message when this happens. |
| 19 | |
| 20 | These files are currently set up to allow you to compile all of the |
| 21 | versions of the assembler (68020, VAX, ns32k, and i386) on the same |
| 22 | machine. To compile the 68020 version, type 'make a68'. To compile |
| 23 | the VAX version, type 'make avax'. To compile the ns32k version, |
| 24 | type 'make a32k'. To compile the Intel 80386 version, type 'make |
| 25 | a386'. The Makefile contains instructions on how to make one of the |
| 26 | assemblers compile as the default. |
| 27 | |
| 28 | Before you can compile the 68020 version of the assembler, you must |
| 29 | make m68k.h be a link to m-sun3.h , m-hpux.h or m-generic.h . If |
| 30 | you are on a SUN-3 (or other machine that uses a magic number of |
| 31 | (2 << 16) | OMAGIC type 'ln -s m-sun3.h m68k.h' else if you are on a |
| 32 | machine running HP-UX, type 'ln m-hpux.h m689k.h' else type |
| 33 | 'ln -s m-generic.h m68k.h' If your machine does not support symbolic |
| 34 | links, omit the '-s'. |
| 35 | |
| 36 | See the instructions in the Makefile for compiling gas for the Sequent |
| 37 | Symmetry (dynix 3.0.12 + others?) or for the HP 9000/300 |
| 38 | |
| 39 | If your machine does not have both varargs.h and vfprintf(), but does have |
| 40 | _doprnt() add -DNO_VARARGS to the CFLAGS line in the makefile. If your |
| 41 | machine has neither vfprintf() or _doprnt(), you will have to change |
| 42 | messages.c in order to get readable error messages from the assembler. |
| 43 | |
| 44 | |
| 45 | REPORTING BUGS IN GAS |
| 46 | |
| 47 | Bugs in gas should be reported to bug-gnu-utils@prep.ai.mit.edu If you can't |
| 48 | get through to prep, try hack@gnu.ai.mit.edu or hack@media-lab.media.mit.edu |
| 49 | |
| 50 | If you report a bug in GAS, please remember to include: |
| 51 | |
| 52 | A description of exactly what went wrong. |
| 53 | |
| 54 | The type of machine GAS was running on (VAX, 68020, etc), |
| 55 | |
| 56 | The Operating System GAS was running under. |
| 57 | |
| 58 | The options given to GAS. |
| 59 | |
| 60 | The actual input file that caused the problem. |
| 61 | |
| 62 | It is silly to report a bug in GAS without including an input file for |
| 63 | GAS. Don't ask us to generate the file just because you made it from |
| 64 | files you think we have access to. |
| 65 | |
| 66 | 1. You might be mistaken. |
| 67 | 2. It might take us a lot of time to install things to regenerate that file. |
| 68 | 3. We might get a different file from the one you got, and might not see any |
| 69 | bug. |
| 70 | |
| 71 | To save us these delays and uncertainties, always send the input file |
| 72 | for the program that failed. |
| 73 | |
| 74 | If the input file is very large, and you are on the internet, you may |
| 75 | want to make it avaliable for anonymous FTP instead of mailing it. If you |
| 76 | do, include instructions for FTP'ing it in your bug report. |
| 77 | |
| 78 | ------------------------------ README.APOLLO --------------------------------- |
| 79 | |
| 80 | The changes required to get the GNU C compiler running on |
| 81 | Apollo 68K platforms are available via anonymous ftp from |
| 82 | labrea.stanford.edu (36.8.0.47) in the form of a compressed |
| 83 | tar file named "/pub/gnu/apollo-gcc-1.37.tar.Z". |
| 84 | The size of the file is 84145 bytes. |
| 85 | |
| 86 | To build GCC for the Apollo you'll need the virgin FSF |
| 87 | distributions of bison-1.03, gas-1.34, and gcc-1.37. They |
| 88 | are also on labrea.stanford.edu as well as prep.ai.mit.edu. |
| 89 | My changes are to enable gas to produce Apollo COFF object |
| 90 | files and allow gcc to parse some of the syntax extensions |
| 91 | which appear in Apollo C header files. Note that the |
| 92 | COFF encapsulation technique cannot be used on the Apollo. |
| 93 | |
| 94 | The tar file should be unpacked in the directory containing |
| 95 | the gas-1.34 and gcc-1.37 directories; a few files will be overlaid, |
| 96 | and an APOLLO-GCC-README file will appear in the top directory. |
| 97 | This file contains detailed instructions on how to proceed. |
| 98 | |
| 99 | These changes will only work for SR10.1 or later systems, using |
| 100 | the 6.6 or later version of the Apollo C compiler. |
| 101 | |
| 102 | If you do not have ftp access, I can mail you the changes in the |
| 103 | form of diffs; they are approximately 40K in length. If you request |
| 104 | them, be sure to give me a voice phone number so I can contact you |
| 105 | in case I can't send you mail; I've had several requests in the |
| 106 | past from people I can't contact. |
| 107 | |
| 108 | By the way, I'm working on getting the GNU C++ compiler running; |
| 109 | there are a couple problems to solve. I hope to be able to announce |
| 110 | the Apollo version shortly after the 1.37 version is released. |
| 111 | |
| 112 | John Vasta Hewlett-Packard Apollo Systems Division |
| 113 | vasta@apollo.hp.com M.S. CHA-01-LT |
| 114 | (508) 256-6600 x6362 300 Apollo Drive, Chelmsford, MA 01824 |
| 115 | UUCP: {decwrl!decvax, mit-eddie, attunix}!apollo!vasta |
| 116 | |
| 117 | ------------------------------------ |
| 118 | |
| 119 | You might refer others who are interested in a similar thing. |
| 120 | |
| 121 | Kevin Buchs buchs@mayo.edu |
| 122 | |
| 123 | |
| 124 | ------------------------------ README.COFF ----------------------------------- |
| 125 | |
| 126 | If you have a COFF system, you may wish to aquire |
| 127 | |
| 128 | UUCP: osu-cis!~/gnu/coff/gnu-coff.tar.Z |
| 129 | or |
| 130 | FTP: tut.cis.ohio-state.edu:/pub/gnu/coff/gnu-coff.tar.Z |
| 131 | |
| 132 | These contain patches for gas that will make it produce COFF output. |
| 133 | I have never seen these patches, so I don't know how well they work. |