Import of egcs 1.1 release (1.1b).
This commit is contained in:
parent
19800c4d6f
commit
4995df0d60
|
@ -1,3 +1,73 @@
|
|||
Tue Sep 1 01:58:38 1998 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* egcs-1.1 released.
|
||||
* version.c: Update for egcs-1.1 release.
|
||||
|
||||
Mon Aug 31 14:55:02 1998 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* NEWS: Add SCO Openserver and Unixware 7 notes.
|
||||
|
||||
* NEWS: Fix typos.
|
||||
|
||||
Sat Aug 29 14:52:28 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||||
|
||||
* config/sparc/sparc.md (movdf_insn, movtf_insn): Fix type and
|
||||
length attributes to match May 3rd changes made here.
|
||||
* config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Fix and make
|
||||
call-used %l7 when generating pic code.
|
||||
|
||||
Sat Aug 29 14:59:32 1998 Mumit Khan <khan@xraylith.wisc.edu>
|
||||
|
||||
* i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't emit
|
||||
.linkonce directive after the first time.
|
||||
|
||||
Sat Aug 29 14:48:12 1998 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* m68k.md (beq0_di): Generate correct (and more efficient) code when
|
||||
the clobbered operand overlaps with an input.
|
||||
(bne0_di): Similarly.
|
||||
|
||||
Sat Aug 29 12:38:54 1998 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* NEWS: Various updates.
|
||||
|
||||
Tue Aug 25 19:35:24 1998 Jim Wilson <wilson@cygnus.com>
|
||||
|
||||
* configure.in (powerpc-ibm-aix4.[12]*): Change from 4.[12].*.
|
||||
(rs6000-ibm-aix4.[12]*): Likewise.
|
||||
* configure: Regnerate.
|
||||
|
||||
Thu Aug 27 23:44:49 1998 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* reload1.c (forget_old_reloads_1): Keep track of the largest mode
|
||||
found while stripping SUBREGS and invalidate reloads for all the hard
|
||||
regs specified by that largest mode. egcs-1.1 only hack. The
|
||||
mainline tree will get a better fix.
|
||||
|
||||
Tue Aug 25 19:43:11 1998 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* From Alexandre:
|
||||
* configure.in: Do not set thread_file to "irix" since no such
|
||||
support exists yet.
|
||||
|
||||
* reorg.c (fill_simple_delay_slots): Do not abort if we encounter
|
||||
an insn on the unfilled_slots_list that has no delay slots.
|
||||
(fill_eager_delay_slots): Similarly.
|
||||
|
||||
Mon Aug 24 15:20:19 1998 David Edelsohn <edelsohn@mhpcc.edu>
|
||||
|
||||
* rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Use TARGET_POWERPC64
|
||||
when testing LEGITIMATE_INDEXED_ADDRESS_P DFmode and DImode.
|
||||
(LEGITIMIZE_ADDRESS): Use TARGET_POWERPC64 for INDEXED fixup.
|
||||
* rs6000.c (print_operand, case 'L'): Add UNITS_PER_WORD, not 4.
|
||||
(print_operand, cases 'O' and 'T'): Fix typos in lossage strings.
|
||||
* rs6000.md (fix_truncdfsi2_store): Remove %w from non-CONST_INT
|
||||
operand.
|
||||
(movdf_softfloat32, movdf_hardfloat64, movdf_softfloat64): Change
|
||||
'o' to 'm' for GPR variant constraints.
|
||||
|
||||
* rs6000.md (movqi, movhi): Add CONSTANT_P_RTX.
|
||||
|
||||
Mon Aug 24 01:21:38 PDT 1998 Jeff Law (law@cygnus.com)
|
||||
|
||||
* version.c: Bump for snapshot.
|
||||
|
|
|
@ -1,14 +1,30 @@
|
|||
This file documents the installation of the GNU compiler. Copyright
|
||||
This is Info file INSTALL, produced by Makeinfo version 1.68 from the
|
||||
input file install1.texi.
|
||||
|
||||
This file documents the installation of the GNU compiler. Copyright
|
||||
(C) 1988, 1989, 1992, 1994, 1995 Free Software Foundation, Inc. You
|
||||
may copy, distribute, and modify it freely as long as you preserve this
|
||||
copyright notice and permission notice.
|
||||
|
||||
|
||||
File: INSTALL, Node: Installation, Up: (dir)
|
||||
|
||||
Installing GNU CC
|
||||
*****************
|
||||
|
||||
Note most of this information is out of date and superceded by the
|
||||
EGCS install procedures. It is provided for historical reference only.
|
||||
|
||||
* Menu:
|
||||
|
||||
* Configurations:: Configurations Supported by GNU CC.
|
||||
* Other Dir:: Compiling in a separate directory (not where the source is).
|
||||
* Cross-Compiler:: Building and installing a cross-compiler.
|
||||
* Sun Install:: See below for installation on the Sun.
|
||||
* VMS Install:: See below for installation on VMS.
|
||||
* Collect2:: How `collect2' works; how it finds `ld'.
|
||||
* Header Dirs:: Understanding the standard header file directories.
|
||||
|
||||
Here is the procedure for installing GNU CC on a Unix system. See
|
||||
*Note VMS Install::, for VMS systems. In this section we assume you
|
||||
compile in the same directory that contains the source files; see *Note
|
||||
|
@ -48,13 +64,13 @@ and includes all the necessary compilation tools and libraries.
|
|||
what your configuration is or guesses wrong.
|
||||
|
||||
In those cases, specify the build machine's "configuration name"
|
||||
with the `--build' option; the host and target will default to be
|
||||
the same as the build machine. (If you are building a
|
||||
with the `--host' option; the host and target will default to be
|
||||
the same as the host machine. (If you are building a
|
||||
cross-compiler, see *Note Cross-Compiler::.)
|
||||
|
||||
Here is an example:
|
||||
|
||||
./configure --build=sparc-sun-sunos4.1
|
||||
./configure --host=sparc-sun-sunos4.1
|
||||
|
||||
A configuration name may be canonical or it may be more or less
|
||||
abbreviated.
|
||||
|
@ -163,7 +179,6 @@ and includes all the necessary compilation tools and libraries.
|
|||
other systems where it could usefully make a difference.
|
||||
|
||||
`--enable-haifa'
|
||||
|
||||
`--disable-haifa'
|
||||
Use `--enable-haifa' to enable use of an experimental
|
||||
instruction scheduler (from IBM Haifa). This may or may not
|
||||
|
@ -182,6 +197,14 @@ and includes all the necessary compilation tools and libraries.
|
|||
possibilities for TYPE are `single', `posix', `win32',
|
||||
`solaris', `irix' and `mach'.
|
||||
|
||||
`--enable-checking'
|
||||
When you specify this option, the compiler is built to
|
||||
perform checking of tree node types when referencing fields
|
||||
of that node. This does not change the generated code, but
|
||||
adds error checking within the compiler. This will slow down
|
||||
the compiler and may only work properly if you are building
|
||||
the compiler with GNU C.
|
||||
|
||||
The `configure' script searches subdirectories of the source
|
||||
directory for other compilers that are to be integrated into GNU
|
||||
CC. The GNU compiler for C++, called G++ is in a subdirectory
|
||||
|
@ -227,20 +250,22 @@ and includes all the necessary compilation tools and libraries.
|
|||
name to use instead of `/usr/local' for all purposes with one
|
||||
exception: the directory `/usr/local/include' is searched for
|
||||
header files no matter where you install the compiler. To override
|
||||
this name, use the `--local-prefix' option below.
|
||||
this name, use the `--with-local-prefix' option below. The
|
||||
directory you specify need not exist, but its parent directory
|
||||
must exist.
|
||||
|
||||
5. Specify `--local-prefix=DIR' if you want the compiler to search
|
||||
directory `DIR/include' for locally installed header files
|
||||
5. Specify `--with-local-prefix=DIR' if you want the compiler to
|
||||
search directory `DIR/include' for locally installed header files
|
||||
*instead* of `/usr/local/include'.
|
||||
|
||||
You should specify `--local-prefix' *only* if your site has a
|
||||
You should specify `--with-local-prefix' *only* if your site has a
|
||||
different convention (not `/usr/local') for where to put
|
||||
site-specific files.
|
||||
|
||||
The default value for `--local-prefix' is `/usr/local' regardless
|
||||
of the value of `--prefix'. Specifying `--prefix' has no effect
|
||||
on which directory GNU CC searches for local header files. This
|
||||
may seem counterintuitive, but actually it is logical.
|
||||
The default value for `--with-local-prefix' is `/usr/local'
|
||||
regardless of the value of `--prefix'. Specifying `--prefix' has
|
||||
no effect on which directory GNU CC searches for local header
|
||||
files. This may seem counterintuitive, but actually it is logical.
|
||||
|
||||
The purpose of `--prefix' is to specify where to *install GNU CC*.
|
||||
The local header files in `/usr/local/include'--if you put any in
|
||||
|
@ -248,12 +273,12 @@ and includes all the necessary compilation tools and libraries.
|
|||
programs--perhaps many others. (GNU CC installs its own header
|
||||
files in another directory which is based on the `--prefix' value.)
|
||||
|
||||
*Do not* specify `/usr' as the `--local-prefix'! The directory
|
||||
you use for `--local-prefix' *must not* contain any of the
|
||||
system's standard header files. If it did contain them, certain
|
||||
programs would be miscompiled (including GNU Emacs, on certain
|
||||
targets), because this would override and nullify the header file
|
||||
corrections made by the `fixincludes' script.
|
||||
*Do not* specify `/usr' as the `--with-local-prefix'! The
|
||||
directory you use for `--with-local-prefix' *must not* contain any
|
||||
of the system's standard header files. If it did contain them,
|
||||
certain programs would be miscompiled (including GNU Emacs, on
|
||||
certain targets), because this would override and nullify the
|
||||
header file corrections made by the `fixincludes' script.
|
||||
|
||||
Indications are that people who use this option use it based on
|
||||
mistaken ideas of what it is for. People use it as if it specified
|
||||
|
@ -300,8 +325,9 @@ and includes all the necessary compilation tools and libraries.
|
|||
escape sequence" are normal in `genopinit.c' and perhaps some
|
||||
other files. Likewise, you should ignore warnings about "constant
|
||||
is so large that it is unsigned" in `insn-emit.c' and
|
||||
`insn-recog.c' and a warning about a comparison always being zero
|
||||
in `enquire.o'. Any other compilation errors may represent bugs in
|
||||
`insn-recog.c', a warning about a comparison always being zero in
|
||||
`enquire.o', and warnings about shift counts exceeding type widths
|
||||
in `cexp.y'. Any other compilation errors may represent bugs in
|
||||
the port to your machine or operating system, and should be
|
||||
investigated and reported.
|
||||
|
||||
|
@ -433,12 +459,12 @@ and includes all the necessary compilation tools and libraries.
|
|||
This copies the files `cc1', `cpp' and `libgcc.a' to files `cc1',
|
||||
`cpp' and `libgcc.a' in the directory
|
||||
`/usr/local/lib/gcc-lib/TARGET/VERSION', which is where the
|
||||
compiler driver program looks for them. Here TARGET is the target
|
||||
machine type specified when you ran `configure', and VERSION is
|
||||
the version number of GNU CC. This naming scheme permits various
|
||||
versions and/or cross-compilers to coexist. It also copies the
|
||||
executables for compilers for other languages (e.g., `cc1plus' for
|
||||
C++) to the same directory.
|
||||
compiler driver program looks for them. Here TARGET is the
|
||||
canonicalized form of target machine type specified when you ran
|
||||
`configure', and VERSION is the version number of GNU CC. This
|
||||
naming scheme permits various versions and/or cross-compilers to
|
||||
coexist. It also copies the executables for compilers for other
|
||||
languages (e.g., `cc1plus' for C++) to the same directory.
|
||||
|
||||
This also copies the driver program `xgcc' into
|
||||
`/usr/local/bin/gcc', so that it appears in typical execution
|
||||
|
@ -465,8 +491,13 @@ and includes all the necessary compilation tools and libraries.
|
|||
library. All I/O functionality, special class libraries, etc., are
|
||||
provided by the C++ runtime library.
|
||||
|
||||
Here's one way to build and install a C++ runtime library for GNU
|
||||
CC:
|
||||
The standard C++ runtime library for GNU CC is called `libstdc++'.
|
||||
An obsolescent library `libg++' may also be available, but it's
|
||||
necessary only for older software that hasn't been converted yet;
|
||||
if you don't know whether you need `libg++' then you probably don't
|
||||
need it.
|
||||
|
||||
Here's one way to build and install `libstdc++' for GNU CC:
|
||||
|
||||
* Build and install GNU CC, so that invoking `gcc' obtains the
|
||||
GNU CC that was just built.
|
||||
|
@ -535,6 +566,9 @@ and includes all the necessary compilation tools and libraries.
|
|||
|
||||
* thr-win32 Microsoft Win32 API thread support.
|
||||
|
||||
|
||||
File: INSTALL, Node: Configurations, Next: Other Dir, Up: Installation
|
||||
|
||||
Configurations Supported by GNU CC
|
||||
==================================
|
||||
|
||||
|
@ -742,9 +776,10 @@ special things you must know:
|
|||
AMD Am29050 used in a system running a variant of BSD Unix.
|
||||
|
||||
`decstation-*'
|
||||
DECstations can support three different personalities: Ultrix, DEC
|
||||
OSF/1, and OSF/rose. To configure GCC for these platforms use the
|
||||
following configurations:
|
||||
MIPS-based DECstations can support three different personalities:
|
||||
Ultrix, DEC OSF/1, and OSF/rose. (Alpha-based DECstation products
|
||||
have a configuration name beginning with `alpha-dec'.) To
|
||||
configure GCC for these platforms use the following configurations:
|
||||
|
||||
`decstation-ultrix'
|
||||
Ultrix configuration.
|
||||
|
@ -799,7 +834,9 @@ special things you must know:
|
|||
later). These can be retrieved from all the traditional GNU ftp
|
||||
archive sites.
|
||||
|
||||
GAS will need to be installed into a directory before `/bin',
|
||||
On some versions of HP-UX, you will need to install GNU `sed'.
|
||||
|
||||
You will need to be install GAS into a directory before `/bin',
|
||||
`/usr/bin', and `/usr/ccs/bin' in your search path. You should
|
||||
install GAS before you build GNU CC.
|
||||
|
||||
|
@ -834,24 +871,32 @@ special things you must know:
|
|||
|
||||
`i386-*-sco3.2v5*'
|
||||
Use this for the SCO OpenServer Release family including 5.0.0,
|
||||
5.0.2, 5.0.4, Internet FastStart 1.0, and Internet FastStart 1.1.
|
||||
5.0.2, 5.0.4, 5.0.5, Internet FastStart 1.0, and Internet
|
||||
FastStart 1.1.
|
||||
|
||||
GNU CC can generate ELF binaries (if you specify `-melf') or COFF
|
||||
binaries (the default). If you are going to build your compiler
|
||||
in ELF mode (once you have bootstrapped the first stage compiler)
|
||||
you *must* specify `-melf' as part of `CC', *not* `CFLAGS', for
|
||||
example as `CC="stage1/xgcc -melf -Bstage1/" '. If you do not do
|
||||
this, the bootstrap will generate incorrect versions of `libgcc.a'.
|
||||
GNU CC can generate COFF binaries if you specify `-mcoff' or ELF
|
||||
binaries, the default. A full `make bootstrap' is recommended
|
||||
so that an ELF compiler that builds ELF is generated.
|
||||
|
||||
You must have TLS597 (from ftp.sco.com/TLS) installed for ELF
|
||||
binaries to work correctly. Note that Open Server 5.0.2 *does*
|
||||
need TLS597 installed.
|
||||
You must have TLS597 from `ftp://ftp.sco.com/TLS' installed for ELF
|
||||
C++ binaries to work correctly on releases before 5.0.4.
|
||||
|
||||
*NOTE:* You must follow the instructions about invoking `make
|
||||
bootstrap' because the native OpenServer compiler builds a
|
||||
`cc1plus' that will not correctly parse many valid C++ programs.
|
||||
You must do a `make bootstrap' if you are building with the native
|
||||
compiler.
|
||||
The native SCO assembler that is provided with the OS at no charge
|
||||
is normally required. If, however, you must be able to use the GNU
|
||||
assembler (perhaps you have complex asms) you must configure this
|
||||
package `--with-gnu-as'. To do this, install (cp or symlink)
|
||||
gcc/as to your copy of the GNU assembler. You must use a recent
|
||||
version of GNU binutils; version 2.9.1 seems to work well. If you
|
||||
select this option, you will be unable to build COFF images.
|
||||
Trying to do so will result in non-obvious failures. In general,
|
||||
the "-with-gnu-as" option isn't as well tested as the native
|
||||
assembler.
|
||||
|
||||
*NOTE:* If you are building C++, you must follow the instructions
|
||||
about invoking `make bootstrap' because the native OpenServer
|
||||
compiler may build a `cc1plus' that will not correctly parse many
|
||||
valid C++ programs. You must do a `make bootstrap' if you are
|
||||
building with the native compiler.
|
||||
|
||||
`i386-*-isc'
|
||||
It may be a good idea to link with GNU malloc instead of the
|
||||
|
@ -872,10 +917,8 @@ special things you must know:
|
|||
Go to the Berkeley universe before compiling.
|
||||
|
||||
`i386-sequent-ptx1*'
|
||||
Sequent DYNIX/ptx 1.x.
|
||||
|
||||
`i386-sequent-ptx2*'
|
||||
Sequent DYNIX/ptx 2.x.
|
||||
You must install GNU `sed' before running `configure'.
|
||||
|
||||
`i386-sun-sunos4'
|
||||
You may find that you need another version of GNU CC to begin
|
||||
|
@ -970,7 +1013,7 @@ special things you must know:
|
|||
options to `configure'.
|
||||
|
||||
Note the C compiler that comes with this system cannot compile GNU
|
||||
CC. You can fine binaries of GNU CC for bootstrapping on
|
||||
CC. You can find binaries of GNU CC for bootstrapping on
|
||||
`jagubox.gsfc.nasa.gov'. You will also a patched version of
|
||||
`/bin/ld' there that raises some of the arbitrary limits found in
|
||||
the original.
|
||||
|
@ -1059,9 +1102,9 @@ special things you must know:
|
|||
In addition, if you wish to use gas `--with-gnu-as' you must use
|
||||
gas version 2.1 or later, and you must use the GNU linker version
|
||||
2.1 or later. Earlier versions of gas relied upon a program which
|
||||
converted the gas output into the native HP/UX format, but that
|
||||
converted the gas output into the native HP-UX format, but that
|
||||
program has not been kept up to date. gdb does not understand
|
||||
that native HP/UX format, so you must use gas if you wish to use
|
||||
that native HP-UX format, so you must use gas if you wish to use
|
||||
gdb.
|
||||
|
||||
`m68k-sun'
|
||||
|
@ -1248,13 +1291,15 @@ special things you must know:
|
|||
xlc-1.2.1.8, xlc-1.3.0.0 (distributed with AIX 3.2.5), and
|
||||
xlc-1.3.0.19. Both xlc-1.2.1.28 and xlc-1.3.0.24 (PTF 432238) are
|
||||
known to produce working versions of GNU CC, but most other recent
|
||||
releases correctly bootstrap GNU CC. Also, releases of AIX prior
|
||||
to AIX 3.2.4 include a version of the IBM assembler which does not
|
||||
accept debugging directives: assembler updates are available as
|
||||
PTFs. Also, if you are using AIX 3.2.5 or greater and the GNU
|
||||
assembler, you must have a version modified after October 16th,
|
||||
1995 in order for the GNU C compiler to build. See the file
|
||||
`README.RS6000' for more details on of these problems.
|
||||
releases correctly bootstrap GNU CC.
|
||||
|
||||
Release 4.3.0 of AIX and ones prior to AIX 3.2.4 include a version
|
||||
of the IBM assembler which does not accept debugging directives:
|
||||
assembler updates are available as PTFs. Also, if you are using
|
||||
AIX 3.2.5 or greater and the GNU assembler, you must have a
|
||||
version modified after October 16th, 1995 in order for the GNU C
|
||||
compiler to build. See the file `README.RS6000' for more details
|
||||
on any of these problems.
|
||||
|
||||
GNU CC does not yet support the 64-bit PowerPC instructions.
|
||||
|
||||
|
@ -1401,6 +1446,9 @@ special things you must know:
|
|||
You may need to raise the ULIMIT setting to build a C++ compiler,
|
||||
as the file `cc1plus' is larger than one megabyte.
|
||||
|
||||
|
||||
File: INSTALL, Node: Other Dir, Next: Cross-Compiler, Prev: Configurations, Up: Installation
|
||||
|
||||
Compilation in a Separate Directory
|
||||
===================================
|
||||
|
||||
|
@ -1445,6 +1493,9 @@ configuration steps shown above, when ordinary source files change. You
|
|||
must, however, run `configure' again when the configuration files
|
||||
change, if your system does not support symbolic links.
|
||||
|
||||
|
||||
File: INSTALL, Node: Cross-Compiler, Next: Sun Install, Prev: Other Dir, Up: Installation
|
||||
|
||||
Building and Installing a Cross-Compiler
|
||||
========================================
|
||||
|
||||
|
@ -1471,6 +1522,20 @@ If you want to link on other than the target machine, you need a
|
|||
cross-linker as well. You also need header files and libraries suitable
|
||||
for the target machine that you can install on the host machine.
|
||||
|
||||
* Menu:
|
||||
|
||||
* Steps of Cross:: Using a cross-compiler involves several steps
|
||||
that may be carried out on different machines.
|
||||
* Configure Cross:: Configuring a cross-compiler.
|
||||
* Tools and Libraries:: Where to put the linker and assembler, and the C library.
|
||||
* Cross Headers:: Finding and installing header files
|
||||
for a cross-compiler.
|
||||
* Cross Runtime:: Supplying arithmetic runtime routines (`libgcc1.a').
|
||||
* Build Cross:: Actually compiling the cross-compiler.
|
||||
|
||||
|
||||
File: INSTALL, Node: Steps of Cross, Next: Configure Cross, Up: Cross-Compiler
|
||||
|
||||
Steps of Cross-Compilation
|
||||
--------------------------
|
||||
|
||||
|
@ -1496,6 +1561,9 @@ machine, since then you can do it all with a single invocation of GNU
|
|||
CC. This requires a suitable cross-assembler and cross-linker. For
|
||||
some targets, the GNU assembler and linker are available.
|
||||
|
||||
|
||||
File: INSTALL, Node: Configure Cross, Next: Tools and Libraries, Prev: Steps of Cross, Up: Cross-Compiler
|
||||
|
||||
Configuring a Cross-Compiler
|
||||
----------------------------
|
||||
|
||||
|
@ -1508,6 +1576,9 @@ system running BSD on a system that `configure' can correctly identify:
|
|||
|
||||
./configure --target=m68k-hp-bsd4.3
|
||||
|
||||
|
||||
File: INSTALL, Node: Tools and Libraries, Next: Cross Headers, Prev: Configure Cross, Up: Cross-Compiler
|
||||
|
||||
Tools and Libraries for a Cross-Compiler
|
||||
----------------------------------------
|
||||
|
||||
|
@ -1576,6 +1647,9 @@ machine:
|
|||
mget *crt*.o
|
||||
quit
|
||||
|
||||
|
||||
File: INSTALL, Node: Cross Runtime, Next: Build Cross, Prev: Cross Headers, Up: Cross-Compiler
|
||||
|
||||
`libgcc.a' and Cross-Compilers
|
||||
------------------------------
|
||||
|
||||
|
@ -1661,6 +1735,9 @@ Otherwise, you should place your replacement library under the name
|
|||
`libgcc1.a' in the directory in which you will build the
|
||||
cross-compiler, before you run `make'.
|
||||
|
||||
|
||||
File: INSTALL, Node: Cross Headers, Next: Cross Runtime, Prev: Tools and Libraries, Up: Cross-Compiler
|
||||
|
||||
Cross-Compilers and Header Files
|
||||
--------------------------------
|
||||
|
||||
|
@ -1709,6 +1786,9 @@ machine. On the target machine, do this:
|
|||
quit
|
||||
tar xf tarfile
|
||||
|
||||
|
||||
File: INSTALL, Node: Build Cross, Prev: Cross Runtime, Up: Cross-Compiler
|
||||
|
||||
Actually Building the Cross-Compiler
|
||||
------------------------------------
|
||||
|
||||
|
@ -1742,11 +1822,19 @@ must specify a 68030 as the host when you configure it.
|
|||
|
||||
To install the cross-compiler, use `make install', as usual.
|
||||
|
||||
|
||||
File: INSTALL, Node: Sun Install, Next: VMS Install, Prev: Cross-Compiler, Up: Installation
|
||||
|
||||
Installing GNU CC on the Sun
|
||||
============================
|
||||
|
||||
On Solaris (version 2.1), do not use the linker or other tools in
|
||||
`/usr/ucb' to build GNU CC. Use `/usr/ccs/bin'.
|
||||
On Solaris, do not use the linker or other tools in `/usr/ucb' to
|
||||
build GNU CC. Use `/usr/ccs/bin'.
|
||||
|
||||
If the assembler reports `Error: misaligned data' when bootstrapping,
|
||||
you are probably using an obsolete version of the GNU assembler.
|
||||
Upgrade to the latest version of GNU `binutils', or use the Solaris
|
||||
assembler.
|
||||
|
||||
Make sure the environment variable `FLOAT_OPTION' is not set when
|
||||
you compile `libgcc.a'. If this option were set to `f68881' when
|
||||
|
@ -1772,6 +1860,9 @@ error which does not recur if you run it again. To fix the problem,
|
|||
install Sun recommended patch 100726 (for SunOS 4.1.3) or 101508 (for
|
||||
SunOS 4.1.3_U1), or upgrade to a later SunOS release.
|
||||
|
||||
|
||||
File: INSTALL, Node: VMS Install, Next: Collect2, Prev: Sun Install, Up: Installation
|
||||
|
||||
Installing GNU CC on VMS
|
||||
========================
|
||||
|
||||
|
@ -1977,6 +2068,9 @@ edit the file `tm.h' (created by `vmsconfig.com') to define the macro
|
|||
`QSORT_WORKAROUND' is always defined when GNU CC is compiled with
|
||||
VAX C, to avoid a problem in case `gcclib.olb' is not yet available.
|
||||
|
||||
|
||||
File: INSTALL, Node: Collect2, Next: Header Dirs, Prev: VMS Install, Up: Installation
|
||||
|
||||
`collect2'
|
||||
==========
|
||||
|
||||
|
@ -2042,6 +2136,9 @@ search path.
|
|||
`collect2' searches for the utilities `nm' and `strip' using the
|
||||
same algorithm as above for `ld'.
|
||||
|
||||
|
||||
File: INSTALL, Node: Header Dirs, Prev: Collect2, Up: Installation
|
||||
|
||||
Standard Header File Directories
|
||||
================================
|
||||
|
||||
|
@ -2070,3 +2167,22 @@ use. For a cross-compiler, this is the equivalent of `/usr/include'.
|
|||
When you build a cross-compiler, `fixincludes' processes any header
|
||||
files in this directory.
|
||||
|
||||
|
||||
|
||||
Tag Table:
|
||||
Node: Installation351
|
||||
Node: Configurations26618
|
||||
Node: Other Dir65739
|
||||
Node: Cross-Compiler67454
|
||||
Node: Steps of Cross69284
|
||||
Node: Configure Cross70401
|
||||
Node: Tools and Libraries71037
|
||||
Node: Cross Runtime73475
|
||||
Node: Cross Headers77555
|
||||
Node: Build Cross79553
|
||||
Node: Sun Install81428
|
||||
Node: VMS Install83099
|
||||
Node: Collect293028
|
||||
Node: Header Dirs95592
|
||||
|
||||
End Tag Table
|
||||
|
|
|
@ -1,4 +1,104 @@
|
|||
Noteworthy changes in GCC for EGCS.
|
||||
Noteworthy changes in GCC for EGCS 1.1.
|
||||
---------------------------------------
|
||||
|
||||
The compiler now implements global common subexpression elimination (gcse) as
|
||||
well as global constant/copy propagation. (link to gcse page).
|
||||
|
||||
More major improvements have been made to the alias analysis code. A new
|
||||
option to allow front-ends to provide alias information to the optimizers
|
||||
has also been added (-fstrict-aliasing). -fstrict-aliasing is off by default
|
||||
now, but will be enabled by default in the future. (link to alias page)
|
||||
|
||||
Major changes continue in the exception handling support. This release
|
||||
includes some changes to reduce static overhead for exception handling. It
|
||||
also includes some major changes to the setjmp/longjmp based EH mechanism to
|
||||
make it less pessimistic. And finally, major infrastructure improvements
|
||||
to the dwarf2 EH mechanism have been made to make our EH support extensible.
|
||||
|
||||
We have fixed the infamous security problems with temporary files.
|
||||
|
||||
The "regmove" optimization pass has been nearly completely rewritten. It now
|
||||
uses much more information about the target to determine profitability of
|
||||
transformations.
|
||||
|
||||
The compiler now recomputes register usage information immediately before
|
||||
register allocation. Previously such information was only not kept up to
|
||||
date after instruction combination which led to poor register allocation
|
||||
choices by our priority based register allocator.
|
||||
|
||||
The register reloading phase of the compiler has been improved to better
|
||||
optimize spill code. This primarily helps targets which generate lots of
|
||||
spills (like the x86 ports and many register poor embedded ports).
|
||||
|
||||
A few changes in the heuristics used by the register allocator and scheduler
|
||||
have been made which can significantly improve performance for certain
|
||||
applications.
|
||||
|
||||
The compiler's branch shortening algorithms have been significantly improved
|
||||
to work better on targets which align jump targets.
|
||||
|
||||
The compiler now supports the "ADDRESSOF" optimization which can significantly
|
||||
reduce the overhead for certain inline calls (and inline calls in general).
|
||||
|
||||
The compiler now supports a code size optimization switch (-Os). When enabled
|
||||
the compiler will prefer optimizations which improve code size over those
|
||||
which improve code speed.
|
||||
|
||||
The compiler has been improved to completely eliminate library calls which
|
||||
compute constant values. This is particularly useful on machines which
|
||||
do not have integer mul/div or floating point support on-chip.
|
||||
|
||||
GCC now supports a "--help" option to print detailed help information.
|
||||
|
||||
cpplib has been greatly improved. It is probably useable for some sites now
|
||||
(major missing feature is trigraphs).
|
||||
|
||||
Memory footprint for the compiler has been significantly reduced for certain
|
||||
pathalogical cases.
|
||||
|
||||
Build time improvements for targets which support lots of sched parameters
|
||||
(alpha and mips primarily).
|
||||
|
||||
Compile time for certain programs using large constant initializers has been
|
||||
improved (effects glibc significantly).
|
||||
|
||||
Plus an incredible number of infrastructure changes, warning fixes, bugfixes
|
||||
and local optimizations.
|
||||
|
||||
Various improvements have been made to better support cross compilations. They
|
||||
are still not easy, but they are improving.
|
||||
|
||||
Target specific NEWS
|
||||
|
||||
Sparc: Now includes V8 plus and V9 support, lots of tuning for Ultrasparcs
|
||||
and uses the Haifa scheduler by default.
|
||||
|
||||
Alpha: EV6 tuned, optimized expansion of memcpy/bzero.
|
||||
|
||||
x86: Data in the static store is aligned per Intel recommendations. Jump
|
||||
targets are aligned per Intel recommendations. Improved epilogue
|
||||
sequences for Pentium chips. Backend improvements which should help
|
||||
register allocation on all x86 variants. Support for PPro conditional
|
||||
move instructions has been fixed and enabled. Random changes
|
||||
throughout the port to make generated code more Pentium friendly.
|
||||
Improved support for 64bit integer operations.
|
||||
Unixware 7, a System V Release 5 target is now supported.
|
||||
SCO OpenServer targets can support GAS. See gcc/INSTALL for details.
|
||||
|
||||
RS6000/PowerPC: Includes AIX4.3 support as well as PowerPC64 support.
|
||||
Haifa instruction scheduling is enabled by default now.
|
||||
|
||||
MIPS: Multiply/Multiply-Add support has been largely rewritten to generate
|
||||
more efficient code. Includes mips16 support.
|
||||
|
||||
M68K: Various micro-optimizations and Coldfire fixes.
|
||||
|
||||
M32r: Major improvements to this port.
|
||||
|
||||
Arm: Includes Thumb and super interworking support.
|
||||
|
||||
EGCS includes all gcc2 changes up to and including the June 9, 1998 snapshot.
|
||||
|
||||
|
||||
Noteworthy changes in GCC version 2.8.1
|
||||
---------------------------------------
|
||||
|
@ -138,7 +238,7 @@ New features for Motorola 68k family:
|
|||
|
||||
New features for the HP PA RISC:
|
||||
|
||||
-mspace and m-no-space
|
||||
-mspace and -mno-space
|
||||
-mlong-load-store and -mno-long-load-store
|
||||
-mbig-switch -mno-big-switch
|
||||
|
||||
|
@ -171,7 +271,7 @@ New features for rs6000 and PowerPC systems:
|
|||
The Linux-based GNU system running on PowerPC's.
|
||||
-mcpu=604e,602,603e,620,801,823,mpc505,821,860,power2
|
||||
-mtune=xxx
|
||||
-mrelocatable-lib, m-no-relocatable-lib
|
||||
-mrelocatable-lib, -mno-relocatable-lib
|
||||
-msim, -mmve, -memb
|
||||
-mupdate, -mno-update
|
||||
-mfused-madd, -mno-fused-madd
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
This directory contains the egcs version 1.0 release of the GNU C
|
||||
This directory contains the egcs version 1.1 release of the GNU C
|
||||
compiler. It includes all of the support for compiling C++ and
|
||||
Objective C, including a run-time library for Objective C.
|
||||
|
||||
|
|
Loading…
Reference in New Issue