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