Commit | Line | Data |
---|---|---|
84a668e9 C |
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. |