--- gcc/INSTALL 2018/04/24 16:49:22 1.1.1.9 +++ gcc/INSTALL 2018/04/24 16:51:46 1.1.1.11 @@ -1,4 +1,4 @@ -This is a copy of one node from the Info file gcc.info-1. +This is a copy of one node from the Info file gcc.info-2. For full information on installing and porting GCC, refer to the GCC manual: @@ -43,7 +43,7 @@ Here is the procedure for installing GNU Intel 386 PCs running system V, using the GNU assembler and GNU linker. - `sequent-386' + `sequent-i386' Sequent with Intel 386 processors. `sun2' @@ -52,12 +52,14 @@ Here is the procedure for installing GNU `sun3' Sun 3 running system version 2 or 3, with 68881. + Note there we do not provide a configuration file to use an + FPA by default because programs that establish signal + handlers for floating point traps inherently cannot work + with the FPA. + `sun3-nfp' Sun 3 running system version 2 or 3, without 68881. - `sun3-fpa' - Sun 3 running system version 2 or 3, with 68881 and fpa. - `sun4' Sun 4 running system version 2 or 3. @@ -70,9 +72,6 @@ Here is the procedure for installing GNU `sun3-nfp-os4' Sun 3 running system version 4, without 68881. - `sun3-fpa-os4' - Sun 3 running system version 4, with 68881 and fpa. - `sun4-os4' Sun 4 running system version 4. @@ -85,6 +84,12 @@ Here is the procedure for installing GNU version of dbx does not manage to work with the output from GNU CC. + `mips' + Some variant of MIPS computer (but not the one from DEC). + Note that this machine description was written for GNU CC + version 1.32 and may require some updating to work with the + current version. + `convex-c1' Convex C1 computer. @@ -92,12 +97,15 @@ Here is the procedure for installing GNU Convex C2 computer. `hp9k320' - HP 9000 series 300 using HPUX assembler. + HP 9000 series 300 using HPUX assembler. Note there is no + support in GNU CC for HP's debugger; thus, `-g' is not + available in this configuration. - `kp9k320g' + `hp9k320g' HP 9000 series 300 using GNU assembler, linker and debugger. - This requires the HP-adapt package which is or will soon be - available along with the linker. + This requires the HP-adapt package, which is available + along with the GNU linker as part of the ``binutils'' + distribution. This is on the GNU CC distribution tape. `isi68' ISI 68000 or 68020 system. @@ -105,8 +113,20 @@ Here is the procedure for installing GNU `news800' Sony NEWS 68020 system. + `next' + NeXT system. + + `altos' + Altos 3068. Note that you must use the GNU assembler, + linker and debugger, with COFF-encapsulation. Also, you + must fix a kernel bug. Details in the file `ALTOS-README'. + `3b1' - AT&T 3b1, a.k.a. 7300 PC. + AT&T 3b1, a.k.a. 7300 PC. Note that the current version of + GNU CC cannot be compiled with the Unix compiler on this + machine, due to bugs in the Unix comiler. GNU CC does work + correctly, however, if you can compile it with older + version of GNU CC or cross-compile it. `sequent-ns32k' Sequent containing ns32000 processors. @@ -127,8 +147,8 @@ Here is the procedure for installing GNU Config::.). This file is responsible for defining information about the host machine. It includes `tm.h'. - The file's name should be `xm-MACHINE.h', with these - exceptions: + The file is located in the subdirectory `config'. Its name + should be `xm-MACHINE.h', with these exceptions: `xm-vms.h' for vaxen running VMS. @@ -159,8 +179,9 @@ Here is the procedure for installing GNU which refers to the appropriate file. * Make a symbolic link named `tm.h' to the - machine-description macro file for your machine (its name - should be `tm-MACHINE.h'). + machine-description macro file for your machine. It should + be in the subdirectory `config' and its name should be + `tm-MACHINE.h'. If your system is a 68000, don't use the file `tm-m68k.h' directly. Instead, use one of these files: @@ -168,9 +189,6 @@ Here is the procedure for installing GNU `tm-sun3.h' for Sun 3 machines with 68881. - `tm-sun3-fpa.h' - for Sun 3 machines with floating point accelerator. - `tm-sun3-nfp.h' for Sun 3 machines with no hardware floating point. @@ -224,14 +242,18 @@ Here is the procedure for installing GNU Note that Encore systems are supported only under BSD. + For Sparc (Sun 4) machines, use `tm-sparc.h' with operating + system version 4, and `tm-sun4os3.h' with system version 3. + * Make a symbolic link named `md' to the machine description - pattern file. Its name should be `MACHINE.md', but MACHINE - is often not the same as the name used in the `tm.h' file - because the `md' files are more general. + pattern file. It should be in the `config' subdirectory + and its name should be `MACHINE.md'; but MACHINE is often + not the same as the name used in the `tm.h' file because + the `md' files are more general. * Make a symbolic link named `aux-output.c' to the output - subroutine file for your machine (its name should be - `output-MACHINE.c'). + subroutine file for your machine. It should be in the + `config' subdirectory and its name should be `out-MACHINE.c'. 4. Make sure the Bison parser generator is installed. (This is unnecessary if the Bison output files `c-parse.tab.c' and @@ -255,12 +277,17 @@ Here is the procedure for installing GNU operating system, and should be investigated and reported (*note Bugs::.). - 7. If you are using COFF-encapsulation, you must convert `gnulib' + 7. Optionally, install the library functions for 64-bit integer + arithmetic. You do this with the command `make gnulib2'. In + the future this will happen automatically; for now, it is + optional, until we are sure it works on all machines. + + 8. If you are using COFF-encapsulation, you must convert `gnulib' to a GNU-format library at this point. See the file `README-ENCAP' in the directory containing the GNU binary file utilities, for directions. - 8. Move the first-stage object files and executables into a + 9. Move the first-stage object files and executables into a subdirectory with this command: make stage1 @@ -269,7 +296,7 @@ Here is the procedure for installing GNU installation is complete, you may wish to delete these files with `rm -r stage1'. - 9. Recompile the compiler with itself, with this command: + 10. Recompile the compiler with itself, with this command: make CC=stage1/gcc CFLAGS="-g -O -Bstage1/" @@ -279,8 +306,8 @@ Here is the procedure for installing GNU make CC=stage1/gcc CFLAGS="-g -O -Bstage1/ -msoft-float" - 10. If you wish to test the compiler by compiling it with itself one - more time, do this: + 11. If you wish to test the compiler by compiling it with itself one + more time, do this (in C shell): make stage2 make CC=stage2/gcc CFLAGS="-g -O -Bstage2/" @@ -288,16 +315,28 @@ Here is the procedure for installing GNU cmp $file stage2/$file end - This will notify you if any of these stage 3 object files - differs from those of stage 2. Any difference, no matter how - innocuous, indicates that the stage 2 compiler has compiled GNU - CC incorrectly, and is therefore a potentially serious bug which - you should investigate and report (*note Bugs::.). - Aside from the `-B' option, the options should be the same as when you made stage 2. - 11. Install the compiler driver, the compiler's passes and run-time + The `foreach' command (written in C shell) will notify you if + any of these stage 3 object files differs from those of stage 2. + On BSD systems, any difference, no matter how innocuous, + indicates that the stage 2 compiler has compiled GNU CC + incorrectly, and is therefore a potentially serious bug which + you should investigate and report (*note Bugs::.). + + On systems that use COFF object files, bytes 5 to 8 will always + be different, since it is a timestamp. On these systems, you + can do the comparison as follows (in Bourne shell): + + for file in *.o; do + echo $file + tail +10 $file > foo1 + tail +10 stage2/$file > foo2 + cmp foo1 foo2 + done + + 12. Install the compiler driver, the compiler's passes and run-time support. You can use the following command: make install @@ -306,7 +345,7 @@ Here is the procedure for installing GNU `gcc-cc1', `gcc-cpp' and `gcc-gnulib' in directory `/usr/local/lib', which is where the compiler driver program looks for them. It also copies the driver program `gcc' into - the directory `/usr/local', so that it appears in typical + the directory `/usr/local/bin', so that it appears in typical execution search paths. *Warning: there is a bug in `alloca' in the Sun library. To @@ -332,7 +371,7 @@ Here is the procedure for installing GNU `fixincludes'. This installs modified, corrected copies of the files `ioctl.h', `ttychars.h' and many others, in a special directory where only GNU CC will normally look for them. This - script will work on various systems because it choose the files + script will work on various systems because it chooses the files by searching all the system headers for the problem cases that we know about. @@ -393,6 +432,10 @@ VMS CLD file for GNU CC as follows: $ set command /table=sys$library:dcltables gnu_cc:gcc + 3. To install the help file, do the following: + + $ lib/help sys$library:helplib.hlb gcc.hlp + Now you can invoke the compiler with a command like `gcc /verbose file.c', which is equivalent to the command `gcc -v -c file.c' in Unix. @@ -400,3 +443,9 @@ VMS CLD file for GNU CC as follows: There is a known problem on VMS: `const' global variables don't work compatibly with the VMS C compiler; we don't know a way to get them to the linker properly. + +Note that GNU CC on VMS does not generate debugging information to +describe the program's symbols. It is not straightforward to +implement this, and we have no time to spend on it, but we might +consent to install a very modular implementation if you write it. +You will probably have to modify GAS as well as GNU CC.