summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1998-03-08 12:29:58 -0700
committerJeff Law <law@gcc.gnu.org>1998-03-08 12:29:58 -0700
commite4336350cd10f0270fcc06d24a80c1089ecb23aa (patch)
tree799a31d96540ef301cdc7d86763f8ae46f6f0795
parentf623349c80034f369bdab9eaa04be4b34cac7071 (diff)
downloadgcc-e4336350cd10f0270fcc06d24a80c1089ecb23aa.tar.gz
Doc changes for 1.0.2.
From-SVN: r18444
-rw-r--r--INSTALL/BUILD2
-rw-r--r--INSTALL/CONFIGURE2
-rw-r--r--INSTALL/FAQ831
-rw-r--r--INSTALL/FINALINSTALL2
-rw-r--r--INSTALL/INDEX16
-rw-r--r--INSTALL/TEST8
-rw-r--r--INSTALL/build.html5
-rw-r--r--INSTALL/configure.html4
-rw-r--r--INSTALL/faq.html101
-rw-r--r--INSTALL/finalinstall.html4
-rw-r--r--INSTALL/index.html4
-rw-r--r--INSTALL/specific.html21
-rw-r--r--INSTALL/test.html11
13 files changed, 610 insertions, 401 deletions
diff --git a/INSTALL/BUILD b/INSTALL/BUILD
index 05e0902052e..6b7997eec63 100644
--- a/INSTALL/BUILD
+++ b/INSTALL/BUILD
@@ -1,5 +1,5 @@
- Building egcs-1.0.1
+ Building egcs-1.0.2
Now that egcs is configured, you are ready to build the compiler and
runtime libraries.
diff --git a/INSTALL/CONFIGURE b/INSTALL/CONFIGURE
index 8bca3494a1e..24107dc61c8 100644
--- a/INSTALL/CONFIGURE
+++ b/INSTALL/CONFIGURE
@@ -1,5 +1,5 @@
- Configuring egcs-1.0.1
+ Configuring egcs-1.0.2
Like most GNU software, egcs must be configured before it can be
built. This document attempts to describe the recommended
diff --git a/INSTALL/FAQ b/INSTALL/FAQ
index 17ebaa19b0f..0e9a3a63ac4 100644
--- a/INSTALL/FAQ
+++ b/INSTALL/FAQ
@@ -1,7 +1,7 @@
egcs Frequently Asked Questions
- 1. [1]How is egcs be different from gcc2?
+ 1. [1]How is egcs different from gcc2?
2. [2]What is an open development model?
3. [3]Releases and Forking
4. [4]bits/libc-lock.h: No such file or directory
@@ -23,87 +23,101 @@
20. [20]egcs does not work on Red Hat 5.0
21. [21]Unable to bootstrap on x86 Solaris2.{5,6}
22. [22]EGCS with Windows
- 23. [23]cpp: Usage:... Error
- [24]EGCS will not build KDE
- _____________________________________________________________
-
+ 23. [23]EGCS with OS/2
+ 24. [24]cpp: Usage:... Error
+ 25. [25]EGCS will not build KDE
+ 26. [26]Friend Templates
+ 27. [27]Where to find libg++
+ 28. [28]Why do I need autoconf & bison
+ 29. [29]EGCS does not work on AIX 4.3
+ 30. [30]Problems debugging egcs code
+ 31. [31]Conflicts when using cvs update
+
+ _________________________________________________________________
+
How is egcs be different from gcc2?
- Six years ago, gcc version 1 had reached a point of stability. For
- the targets it could support, it worked well. It had limitations
- inherent in its design that would be difficult to resolve, so a
- major effort was made and gcc version 2 was the result. When we
- had gcc2 in a useful state, development efforts on gcc1 stopped
- and we all concentrated on making gcc2 better than gcc1 could ever
- be. This is the kind of step forward we want to make with egcs.
- In brief, the three biggest differences between egcs and gcc2 are
- these:
- + More rexamination of basic architectual decisions of gcc and
- an interest in adding new optimizations;
- + working with the groups who have fractured out from gcc2
- (like the Linux folks, the Intel optimizations folks, Fortran
- folks) including more front-ends; and finally
- + An open development model ([25]see below) for the development
- process.
- These three differences will work together to result in a more
- useful compiler, a more stable compiler, a central compiler that
- works for more people, a compiler that generates better code.
- There are a lot of exciting compiler optimizations that have come
- out. We want them in gcc. There are a lot of front ends out there
- for gcc for languages like Fortran or Pascal. We want them easily
- installable by users. After six years of working on gcc2, we've
- come to see problems and limitations in the way gcc is
- architected; it is time to address these again.
- _____________________________________________________________
-
+ Six years ago, gcc version 1 had reached a point of stability. For the
+ targets it could support, it worked well. It had limitations inherent
+ in its design that would be difficult to resolve, so a major effort
+ was made and gcc version 2 was the result. When we had gcc2 in a
+ useful state, development efforts on gcc1 stopped and we all
+ concentrated on making gcc2 better than gcc1 could ever be. This is
+ the kind of step forward we want to make with egcs.
+
+ In brief, the three biggest differences between egcs and gcc2 are:
+ * More rexamination of basic architectual decisions of gcc and an
+ interest in adding new optimizations;
+ * working with the groups who have fractured out from gcc2 (like the
+ Linux folks, the Intel optimizations folks, Fortran folks)
+ including more front-ends; and finally
+ * An open development model ([32]see below) for the development
+ process.
+
+ These three differences will work together to result in a more useful
+ compiler, a more stable compiler, a central compiler that works for
+ more people, a compiler that generates better code.
+
+ There are a lot of exciting compiler optimizations that have come out.
+ We want them in gcc. There are a lot of front ends out there for gcc
+ for languages like Fortran or Pascal. We want them easily installable
+ by users. After six years of working on gcc2, we've come to see
+ problems and limitations in the way gcc is architected; it is time to
+ address these again.
+ _________________________________________________________________
+
What is an open development model?
- With egcs, we are going to try a bazaar style[26][1] approach to
- its development: We're going to be making snapshots publicly
- available to anyone who wants to try them; we're going to welcome
- anyone to join the development mailing list. All of the
- discussions on the development mailing list are available via the
- web. We're going to be making releases with a much higher
- frequency than they have been made in the past: We're shooting for
- three by the end of 1997.
- In addition to weekly snapshots of the egcs development sources,
- we are going to look at making the sources readable from a CVS
- server by anyone. We want to make it so external maintainers of
- parts of egcs are able to commit changes to their part of egcs
- directly into the sources without going through an intermediary.
- There have been many potential gcc developers who were not able to
- participate in gcc development in the past. We these people to
- help in any way they can; we ultimately want gcc to be the best
- compiler in the world.
- A compiler is a complicated piece of software, there will still be
- strong central maintainers who will reject patches, who will
- demand documentation of implementations, and who will keep the
- level of quality as high as it is today. Code that could use wider
- testing may be intergrated--code that is simply ill-conceived
- won't be.
- egcs is not the first piece of software to use this open
- development process; FreeBSD, the Emacs lisp repository, and Linux
- are a few examples of the bazaar style of development.
- With egcs, we will be adding new features and optimizations at a
- rate that has not been done since the creation of gcc2; these
- additions will inevitably have a temporarily destabilizing effect.
- With the help of developers working together with this bazaar
- style development, the resulting stability and quality levels will
- be better than we've had before.
-
+ With egcs, we are going to try a bazaar style[33][1] approach to its
+ development: We're going to be making snapshots publicly available to
+ anyone who wants to try them; we're going to welcome anyone to join
+ the development mailing list. All of the discussions on the
+ development mailing list are available via the web. We're going to be
+ making releases with a much higher frequency than they have been made
+ in the past: We're shooting for three by the end of 1997.
+
+ In addition to weekly snapshots of the egcs development sources, we
+ are going to look at making the sources readable from a CVS server by
+ anyone. We want to make it so external maintainers of parts of egcs
+ are able to commit changes to their part of egcs directly into the
+ sources without going through an intermediary.
+
+ There have been many potential gcc developers who were not able to
+ participate in gcc development in the past. We these people to help in
+ any way they can; we ultimately want gcc to be the best compiler in
+ the world.
+
+ A compiler is a complicated piece of software, there will still be
+ strong central maintainers who will reject patches, who will demand
+ documentation of implementations, and who will keep the level of
+ quality as high as it is today. Code that could use wider testing may
+ be intergrated--code that is simply ill-conceived won't be.
+
+ egcs is not the first piece of software to use this open development
+ process; FreeBSD, the Emacs lisp repository, and Linux are a few
+ examples of the bazaar style of development.
+
+ With egcs, we will be adding new features and optimizations at a rate
+ that has not been done since the creation of gcc2; these additions
+ will inevitably have a temporarily destabilizing effect. With the help
+ of developers working together with this bazaar style development, the
+ resulting stability and quality levels will be better than we've had
+ before.
+
[1] We've been discussing different development models a lot over
the past few months. The paper which started all of this introduced
two terms: A cathedral development model versus a bazaar
development model. The paper is written by Eric S. Raymond, it is
- called ``[27]The Cathedral and the Bazaar''. The paper is a useful
+ called ``[34]The Cathedral and the Bazaar''. The paper is a useful
starting point for discussions.
- _____________________________________________________________
-
+
+ _________________________________________________________________
+
Releases and Forking?
- Some folks have questioned whether or not making releases is
- consistent with the goals of the egcs project and whether or not
- making releases is a fork from gcc2.
+ Some folks have questioned whether or not making releases is
+ consistent with the goals of the egcs project and whether or not
+ making releases is a fork from gcc2.
The egcs project has several goals, including:
@@ -139,262 +153,286 @@ We don't see this situation as significantly different than other projects
that make releases based on some version of the gcc sources (Cygnus, g77,
etc). All the code is still available for inclusion in gcc at the discretion
of the gcc maintainers.
- _____________________________________________________________
-
+
+ _________________________________________________________________
+
bits/libc-lock.h: No such file or directory
- This entry should be obsolete, egcs should handle these beta
- versions of glibc2 correctly.
- egcs includes a tightly integrated libio and libstdc++
- implementation which can cause problems on hosts which have libio
- integrated into their C library (most notably Linux).
- We believe that we've solved the major technical problems for the
- most common versions of libc found on Linux systems. However, some
- versions of Linux use pre-release versions of glibc2, which egcs
- has trouble detecting and correctly handling.
- If you're using one of these pre-release versions of glibc2, you
- may get a message "bits/libc-lock.h: No such file or directory"
- when building egcs. Unfortunately, to fix this problem you will
- need to update your C library to glibc2.0.5c.
- _____________________________________________________________
-
+ This entry should be obsolete, egcs should handle these beta versions
+ of glibc2 correctly.
+
+ egcs includes a tightly integrated libio and libstdc++ implementation
+ which can cause problems on hosts which have libio integrated into
+ their C library (most notably Linux).
+
+ We believe that we've solved the major technical problems for the most
+ common versions of libc found on Linux systems. However, some versions
+ of Linux use pre-release versions of glibc2, which egcs has trouble
+ detecting and correctly handling.
+
+ If you're using one of these pre-release versions of glibc2, you may
+ get a message "bits/libc-lock.h: No such file or directory" when
+ building egcs. Unfortunately, to fix this problem you will need to
+ update your C library to glibc2.0.5c.
+ _________________________________________________________________
+
`_IO_stdfile_0_lock' was not declared in this scope
- If you get this error, it means either egcs incorrectly guessed
- what version of libc is installed on your linux system, or you
- incorrectly specified a version of glibc when configuring egcs.
- If you did not provide a target name when configuring egcs, then
- you've found a bug which needs to be reported. If you did provide
- a target name at configure time, then you should reconfigure
- without specifying a target name.
- _____________________________________________________________
-
+ If you get this error, it means either egcs incorrectly guessed what
+ version of libc is installed on your linux system, or you incorrectly
+ specified a version of glibc when configuring egcs.
+
+ If you did not provide a target name when configuring egcs, then
+ you've found a bug which needs to be reported. If you did provide a
+ target name at configure time, then you should reconfigure without
+ specifying a target name.
+ _________________________________________________________________
+
Problems building the Fortran compiler
- The Fortran front end can not be built with most vendor compilers;
- it must be built with gcc. As a result, you may get an error if
- you do not follow the install instructions carefully.
- In particular, instead of using "make" to build egcs, you should
- use "make bootstrap" if you are building a native compiler or
- "make cross" if you are building a cross compiler.
- It has also been reported that the Fortran compiler can not be
- built on Red Hat 4.X linux for the Alpha. Fixing this may require
- upgrading binutils or to Red Hat 5.0; we'll provide more
- information as it becomes available.
- _____________________________________________________________
-
+ The Fortran front end can not be built with most vendor compilers; it
+ must be built with gcc. As a result, you may get an error if you do
+ not follow the install instructions carefully.
+
+ In particular, instead of using "make" to build egcs, you should use
+ "make bootstrap" if you are building a native compiler or "make cross"
+ if you are building a cross compiler.
+
+ It has also been reported that the Fortran compiler can not be built
+ on Red Hat 4.X linux for the Alpha. Fixing this may require upgrading
+ binutils or to Red Hat 5.0; we'll provide more information as it
+ becomes available.
+ _________________________________________________________________
+
Problems building on MIPS platforms
- egcs requires the use of GAS on all versions of Irix, except Irix
- 6 due to limitations in older Irix assemblers.
- Either of these messages indicates that you are using the MIPS
- assembler when instead you should be using GAS.
+ egcs requires the use of GAS on all versions of Irix, except Irix 6
+ due to limitations in older Irix assemblers.
+
+ Either of these messages indicates that you are using the MIPS
+ assembler when instead you should be using GAS.
as0: Error: ./libgcc2.c, line 1:Badly delimited numeric literal
.4byte $LECIE1-$LSCIE1
as0: Error: ./libgcc2.c, line 1:malformed statement
- _____________________________________________________________
-
+
+ _________________________________________________________________
+
as0: Error: /home/law/egcs_release/gcc/libgcc2.c, line 1:undefined symbol i
n expression
.word $LECIE1-$LSCIE1
- For Irix 6, you should use the native assembler as GAS is not
- supported on Irix 6.
- _____________________________________________________________
-
+ For Irix 6, you should use the native assembler as GAS is not
+ supported on Irix 6.
+ _________________________________________________________________
+
Problems with exception handling on x86 platforms
- If you are using the GNU assembler (aka gas) on an x86 platform
- and exception handling is not working correctly, then odds are
- you're using a buggy assembler.
- We recommend binutils-2.8.1.0.15 or newer.
- [28]binutils-2.8.1.0.15 source
- [29]binutils-2.8.1.0.15 x86 binary for libc5
- [30]binutils-2.8.1.0.15 x86 binary for glibc2 Or, you can try a
- [31]binutils snapshot; however, be aware that the binutils
- snapshot is untested and may not work (or even build). Use it at
- your own risk.
- _____________________________________________________________
-
+ If you are using the GNU assembler (aka gas) on an x86 platform and
+ exception handling is not working correctly, then odds are you're
+ using a buggy assembler.
+
+ We recommend binutils-2.8.1.0.15 or newer.
+ [35]binutils-2.8.1.0.20 source
+ [36]binutils-2.8.1.0.20 x86 binary for libc5
+ [37]binutils-2.8.1.0.20 x86 binary for glibc2 Or, you can try a
+ [38]binutils snapshot; however, be aware that the binutils snapshot is
+ untested and may not work (or even build). Use it at your own risk.
+ _________________________________________________________________
+
Bootstrap comparison failures on HPs
- If you bootstrap the compiler on hpux10 using the HP assembler
- instead of gas, every file will fail the comparison test.
- The HP asembler inserts timestamps into object files it creates,
- causing every file to be different. The location of the timestamp
- varies for each object file, so there's no real way to work around
- this mis-feature.
- Odds are your compiler is fine, but there's no way to be certain.
- If you use GAS on HPs, then you will not run into this problem
- because GAS never inserts timestamps into object files. For this
- and various other reasons we highly recommend using GAS on HPs.
- _____________________________________________________________
-
+ If you bootstrap the compiler on hpux10 using the HP assembler instead
+ of gas, every file will fail the comparison test.
+
+ The HP asembler inserts timestamps into object files it creates,
+ causing every file to be different. The location of the timestamp
+ varies for each object file, so there's no real way to work around
+ this mis-feature.
+
+ Odds are your compiler is fine, but there's no way to be certain.
+
+ If you use GAS on HPs, then you will not run into this problem because
+ GAS never inserts timestamps into object files. For this and various
+ other reasons we highly recommend using GAS on HPs.
+ _________________________________________________________________
+
Bootstrap loops rebuilding cc1 over and over
- When building egcs, the build process loops rebuilding cc1 over
- and over again. This happens on mips-sgi-irix5.2, and possibly
- other platforms.
- This is probably a bug somewhere in the egcs Makefile. Until we
- find and fix this bug we recommend you use GNU make instead of
- vendor supplied make programs.
- _____________________________________________________________
-
+ When building egcs, the build process loops rebuilding cc1 over and
+ over again. This happens on mips-sgi-irix5.2, and possibly other
+ platforms.
+
+ This is probably a bug somewhere in the egcs Makefile. Until we find
+ and fix this bug we recommend you use GNU make instead of vendor
+ supplied make programs.
+ _________________________________________________________________
+
Dynamic linker is unable to find GCC libraries
- This problem manifests itself by programs not finding shared
- libraries they depend on when the programs are started. Note this
- problem often manifests itself with failures in the
- libio/libstdc++ tests after configuring with --enable-shared and
- building egcs.
- GCC does not specify a runpath so that the dynamic linker can find
- dynamic libraries at runtime.
- The short explaination is that if you always pass a -R option to
- the linker, then your programs become dependent on directories
- which may be NFS mounted, and programs may hang unnecessarily when
- an NFS server goes down.
- The problem is not programs that do require the directories; those
- programs are going to hang no matter what you do. The problem is
- programs that do not require the directories.
- SunOS effectively always passed a -R option for every -L option;
- this was a bad idea, and so it was removed for Solaris. We should
- not recreate it.
- _____________________________________________________________
-
+ This problem manifests itself by programs not finding shared libraries
+ they depend on when the programs are started. Note this problem often
+ manifests itself with failures in the libio/libstdc++ tests after
+ configuring with --enable-shared and building egcs.
+
+ GCC does not specify a runpath so that the dynamic linker can find
+ dynamic libraries at runtime.
+
+ The short explaination is that if you always pass a -R option to the
+ linker, then your programs become dependent on directories which may
+ be NFS mounted, and programs may hang unnecessarily when an NFS server
+ goes down.
+
+ The problem is not programs that do require the directories; those
+ programs are going to hang no matter what you do. The problem is
+ programs that do not require the directories.
+
+ SunOS effectively always passed a -R option for every -L option; this
+ was a bad idea, and so it was removed for Solaris. We should not
+ recreate it.
+ _________________________________________________________________
+
Unable to run the testsuite
- If you get a message about unable to find "standard.exp" when
- trying to run the egcs testsuites, then your dejagnu is too old to
- run the egcs tests. You will need to get a newer version of
- dejagnu; we've made a [32]dejagnu snapshot available until a new
- version of dejagnu can be released.
- _____________________________________________________________
-
+ If you get a message about unable to find "standard.exp" when trying
+ to run the egcs testsuites, then your dejagnu is too old to run the
+ egcs tests. You will need to get a newer version of dejagnu; we've
+ made a [39]dejagnu snapshot available until a new version of dejagnu
+ can be released.
+ _________________________________________________________________
+
How to build a cross compiler
- Building cross compilers is a rather complex undertaking because
- they usually need additional software (cross assembler, cross
- linker, target libraries, target include files, etc).
- We recommend reading the [33]crossgcc FAQ for information about
- building cross compilers.
- If you have all the pieces available, then `make cross' should
- build a cross compiler. `make LANGUAGES="c c++" install'will
- install the cross compiler.
- Note that if you're trying to build a cross compiler in a tree
- which includes binutils-2.8 in addition to egcs, then you're going
- to need to make a couple minor tweaks so that the cross assembler,
- linker and nm utilities will be found.
- binutils-2.8 builds those files as gas.new, ld.new and nm.new;
- egcs gcc looks for them using gas-new, ld-new and nm-new, so you
- may have to arrange for any symlinks which point to &ltfile>.new
- to be changed to &ltfile>-new.
- _____________________________________________________________
-
+ Building cross compilers is a rather complex undertaking because they
+ usually need additional software (cross assembler, cross linker,
+ target libraries, target include files, etc).
+
+ We recommend reading the [40]crossgcc FAQ for information about
+ building cross compilers.
+
+ If you have all the pieces available, then `make cross' should build a
+ cross compiler. `make LANGUAGES="c c++" install'will install the cross
+ compiler.
+
+ Note that if you're trying to build a cross compiler in a tree which
+ includes binutils-2.8 in addition to egcs, then you're going to need
+ to make a couple minor tweaks so that the cross assembler, linker and
+ nm utilities will be found.
+
+ binutils-2.8 builds those files as gas.new, ld.new and nm.new; egcs
+ gcc looks for them using gas-new, ld-new and nm-new, so you may have
+ to arrange for any symlinks which point to &ltfile>.new to be changed
+ to &ltfile>-new.
+ _________________________________________________________________
+
Snapshots, how, when, why
- We make snapshots of the egcs sources about once a week; there is
- no predetermined schedule. These snapshots are intended to give
- everyone access to work in progress. Any given snapshot may
- generate incorrect code or even fail to build.
- If you plan on downloading and using snapshots, we highly
- recommend you subscribe to the egcs mailing lists. See [34]mailing
- lists on the main egcs page for instructions on how to subscribe.
- When using the diff files to update from older snapshots to newer
- snapshots, make sure to use "-E" and "-p" arguments to patch so
- that empty files are deleted and full pathnames are provided to
- patch. If your version of patch does not support "-E", you'll need
- to get a newer version. Also note that you may need autoconf,
- autoheader and various other programs if you use diff files to
- update from one snapshot to the next.
- _____________________________________________________________
-
+ We make snapshots of the egcs sources about once a week; there is no
+ predetermined schedule. These snapshots are intended to give everyone
+ access to work in progress. Any given snapshot may generate incorrect
+ code or even fail to build.
+
+ If you plan on downloading and using snapshots, we highly recommend
+ you subscribe to the egcs mailing lists. See [41]mailing lists on the
+ main egcs page for instructions on how to subscribe.
+
+ When using the diff files to update from older snapshots to newer
+ snapshots, make sure to use "-E" and "-p" arguments to patch so that
+ empty files are deleted and full pathnames are provided to patch. If
+ your version of patch does not support "-E", you'll need to get a
+ newer version. Also note that you may need autoconf, autoheader and
+ various other programs if you use diff files to update from one
+ snapshot to the next.
+ _________________________________________________________________
+
How to install both egcs and gcc2
- It may be desirable to install both egcs and gcc2 on the same
- system. This can be done by using different prefix paths at
- configure time and a few symlinks.
- Basically, configure the two compilers with different --prefix
- options, then build and install each compiler. Assume you want
- "gcc" to be the egcs compiler and available in /usr/local/bin;
- also assume that you want "gcc2" to be the gcc2 compiler and also
- available in /usr/local/bin.
- The easiest way to do this is to configure egcs with
- --prefix=/usr/local/egcs and gcc2 with --prefix=/usr/local/gcc2.
- Build and install both compilers. Then make a symlink from
- /usr/local/bin/gcc to /usr/local/egcs/bin/gcc and from
- /usr/local/bin/gcc2 to /usr/local/gcc2/bin/gcc. Create similar
- links for the "g++", "c++" and "g77" compiler drivers.
- _____________________________________________________________
-
+ It may be desirable to install both egcs and gcc2 on the same system.
+ This can be done by using different prefix paths at configure time and
+ a few symlinks.
+
+ Basically, configure the two compilers with different --prefix
+ options, then build and install each compiler. Assume you want "gcc"
+ to be the egcs compiler and available in /usr/local/bin; also assume
+ that you want "gcc2" to be the gcc2 compiler and also available in
+ /usr/local/bin.
+
+ The easiest way to do this is to configure egcs with
+ --prefix=/usr/local/egcs and gcc2 with --prefix=/usr/local/gcc2. Build
+ and install both compilers. Then make a symlink from
+ /usr/local/bin/gcc to /usr/local/egcs/bin/gcc and from
+ /usr/local/bin/gcc2 to /usr/local/gcc2/bin/gcc. Create similar links
+ for the "g++", "c++" and "g77" compiler drivers.
+ _________________________________________________________________
+
Problems building Linux kernels
- If you installed a recent binutils/gas snapshot on your Linux
- system, you may not be able to build the kernel because objdump
- does not understand the "-k" switch. The solution for this problem
- is to remove /usr/bin/encaps.
- The reason you must remove /usr/bin/encaps is because it is an
- obsolete program that was part of older binutils distributions;
- the Linux kernel's Makefile looks for this program to decide if
- you have an old or a new binutils. Problems occur if you installed
- a new binutils but haven't removed encaps, because the Makefile
- thinks you have the old one. So zap it; trust us, you won't miss
- it.
- You may get an internal compiler error compiling process.c in
- newer versions of the Linux kernel on x86 machines. This is a bug
- in an asm statement in process.c, not a bug in egcs. XXX How to
- fix?!?
- You may get errors with the X driver of the form
-
+ If you installed a recent binutils/gas snapshot on your Linux system,
+ you may not be able to build the kernel because objdump does not
+ understand the "-k" switch. The solution for this problem is to remove
+ /usr/bin/encaps.
+
+ The reason you must remove /usr/bin/encaps is because it is an
+ obsolete program that was part of older binutils distributions; the
+ Linux kernel's Makefile looks for this program to decide if you have
+ an old or a new binutils. Problems occur if you installed a new
+ binutils but haven't removed encaps, because the Makefile thinks you
+ have the old one. So zap it; trust us, you won't miss it.
+
+ You may get an internal compiler error compiling process.c in newer
+ versions of the Linux kernel on x86 machines. This is a bug in an asm
+ statement in process.c, not a bug in egcs. XXX How to fix?!?
+
+ You may get errors with the X driver of the form
_X11TransSocketUNIXConnect: Can't connect: errno = 111
- It's a kernel bug. The function sys_iopl in
- arch/i386/kernel/ioport.c does an illegal hack which used to work
- but is now broken since GCC optimizes more aggressively . The
- newer 2.1.x kernels already have a fix which should also work in
- 2.0.32.
- _____________________________________________________________
-
+
+ It's a kernel bug. The function sys_iopl in arch/i386/kernel/ioport.c
+ does an illegal hack which used to work but is now broken since GCC
+ optimizes more aggressively . The newer 2.1.x kernels already have a
+ fix which should also work in 2.0.32.
+ _________________________________________________________________
+
Virtual memory exhausted error
- This error means your system ran out of memory; this can happen
- for large files, particularly when optimizing. If you're getting
- this error you should consider trying to simplify your files or
- reducing the optimization level.
- Note that using -pedantic or -Wreturn-type can cause an explosion
- in the amount of memory needed for template-heavy C++ code, such
- as code that uses STL. Also note that -Wall includes
- -Wreturn-type, so if you use -Wall you will need to specify
- -Wno-return-type to turn it off.
- _____________________________________________________________
-
+ This error means your system ran out of memory; this can happen for
+ large files, particularly when optimizing. If you're getting this
+ error you should consider trying to simplify your files or reducing
+ the optimization level.
+
+ Note that using -pedantic or -Wreturn-type can cause an explosion in
+ the amount of memory needed for template-heavy C++ code, such as code
+ that uses STL. Also note that -Wall includes -Wreturn-type, so if you
+ use -Wall you will need to specify -Wno-return-type to turn it off.
+ _________________________________________________________________
+
GCC can not find GAS
- Some configurations like irix4, irix5, hpux* require the use of
- the GNU assembler intead of the system assembler. To ensure that
- egcs finds the GNU assembler, you should configure the GNU
- assembler with the same --prefix option as you used for egcs. Then
- build & install the GNU assembler. After the GNU assembler has
- been installed, proceed with building egcs.
- _____________________________________________________________
-
+ Some configurations like irix4, irix5, hpux* require the use of the
+ GNU assembler intead of the system assembler. To ensure that egcs
+ finds the GNU assembler, you should configure the GNU assembler with
+ the same --prefix option as you used for egcs. Then build & install
+ the GNU assembler. After the GNU assembler has been installed, proceed
+ with building egcs.
+ _________________________________________________________________
+
egcs does not work on Red Hat 5.0
- This entry is obsolete with the release of egcs-1.0.1 which should
- handle Red Hat 5.0 correctly.
- egcs-1.0 does not currently work with Red Hat 5.0 on some
- platforms; we'll update this entry with more information as it
- becomes available.
- You may want to try this [35]proposed patch for Red Hat 5.0.
- Please let us know if you use this patch and whether or not it
- works.
- _____________________________________________________________
-
+ This entry is obsolete with the release of egcs-1.0.1 which should
+ handle Red Hat 5.0 correctly.
+
+ egcs-1.0 does not currently work with Red Hat 5.0 on some platforms;
+ we'll update this entry with more information as it becomes available.
+
+ You may want to try this [42]proposed patch for Red Hat 5.0. Please
+ let us know if you use this patch and whether or not it works.
+ _________________________________________________________________
+
Unable to bootstrap on x86 Solaris 2.{5,6}
- This entry is obsolete with the release of egcs-1.0.1 which should
- handle x86 Solaris systems correctly.
- This patch should fix the problem
-
+ This entry is obsolete with the release of egcs-1.0.1 which should
+ handle x86 Solaris systems correctly.
+
+ This patch should fix the problem
Index: t-sol2
===================================================================
RCS file: /cvs/cvsfiles/egcs/gcc/config/i386/t-sol2,v
@@ -421,86 +459,175 @@ diff -c -3 -p -r1.2 t-sol2
! CRTSTUFF_T_CFLAGS = -fPIC -O2
TARGET_LIBGCC2_CFLAGS = -fPIC
- _____________________________________________________________
-
+
+ _________________________________________________________________
+
EGCS with Windows
- egcs does not currently support windows, either natively or with
- the cygwin32 dll. However Mumit Khan has been working on
- supporting Windows with egcs. You should check out his site if
- you're interested in Windows support. [36]GNU Win32 related
- projects
- _____________________________________________________________
-
+ egcs does not currently support windows, either natively or with the
+ cygwin32 dll. However Mumit Khan has been working on supporting
+ Windows with egcs. You should check out his site if you're interested
+ in Windows support. [43]GNU Win32 related projects
+ _________________________________________________________________
+
+EGCS with OS/2
+
+ egcs does not currently support OS/2. However, Andrew Zabolotny has
+ been working on a generic os/2 port with pgcc. The current code code
+ can be found at [44]http://www.goof.com/pcg/os2.
+ _________________________________________________________________
+
cpp: Usage:... Error
- If you get an error like this when building egcs (particularly
- when building __mulsi3), then you likely have a problem with your
- environment variables.
+ If you get an error like this when building egcs (particularly when
+ building __mulsi3), then you likely have a problem with your
+ environment variables.
cpp: Usage: /usr/lib/gcc-lib/i586-unknown-linux-gnulibc1/2.7.2.3/cpp
[switches] input output
- First look for an explicit '.' in either LIBRARY_PATH or
- GCC_EXEC_PREFIX from your environment. If you do not find an
- explicit '.', look for an empty pathname in those variables. Note
- that ':' at either the start or end of these variables is an
- implicit '.' and will cause problems.
- _____________________________________________________________
-
+
+ First look for an explicit '.' in either LIBRARY_PATH or
+ GCC_EXEC_PREFIX from your environment. If you do not find an explicit
+ '.', look for an empty pathname in those variables. Note that ':' at
+ either the start or end of these variables is an implicit '.' and will
+ cause problems.
+ _________________________________________________________________
+
EGCS will not build KDE
- Previous versions of g++ accepted (as a GNU extension)
- constructor-arguments for the objects in an array of objects
- dynamically allocated with new. Here's an example of this
- construct:
+ Previous versions of g++ accepted (as a GNU extension)
+ constructor-arguments for the objects in an array of objects
+ dynamically allocated with new. Here's an example of this construct:
struct S { S(int); }
void f() { new S[3](6); }
- However, this construct is not allowed by the ANSI/ISO Standard,
- and is no longer accepted by g++.
- KDE uses such constructs and therefore will not build with egcs;
- note patches are available to fix KDE.
- _____________________________________________________________
-
- [37]Return to the egcs home page
- Last modified: Jan 2, 1998
+
+ However, this construct is not allowed by the ANSI/ISO Standard, and
+ is no longer accepted by g++.
+
+ KDE uses such constructs and therefore will not build with egcs; note
+ patches are available to fix KDE.
+ _________________________________________________________________
+
+Friend Templates
+
+In order to make a specialization of a template function a friend of a
+(possibly template) class, you must explicitly state that the friend function
+is a template, by appending angle brackets to its name, and this template
+function must have been declared already. An error in the last public comment
+draft of the ANSI/ISO C++ Standard has led people to believe that was not
+necessary, but it is, and it was fixed in the final version of the Standard.
+ __________________________________________________________________________
+
+Where to find libg++
+
+Many folks have been asking where to find libg++ for egcs. First we should
+point out that few programs actually need libg++; most only need
+libstdc++/libio which are included in the egcs distribution.
+
+If you do need libg++ you can get a libg++ snapshot which works with egcs from
+[45]ftp://ftp.yggdrasil.com/private/hjl/libg++-2.8.1-980119.tar.gz
+ __________________________________________________________________________
+
+Why do I need autoconf/bison
+
+If you're using diffs up dated from one snapshot to the next, or if you're
+using the CVS repository, you may need autoconf, bison, or possibly other tools
+to rebuild egcs.
+
+This is necessary because neither diff nor cvs keep timestamps correct. So it
+is possible for "make" to think a generated file is out of date.
+
+If you do not have autoconf, bison, etc, then you can issue the following
+commands to touch all the generated files.
+
+
+touch `find egcs -name configure -print`
+touch egcs/gcc/c-parse.y
+touch egcs/gcc/objc/objc-parse.y
+touch egcs/gcc/{cstamp-h.in,c-gperf.h,c-parse.c,c-parse.h,cexp.c}
+touch egcs/gcc/cp/{parse.c,parse.h}
+touch egcs/gcc/objc/objc-parse.c
+
+ __________________________________________________________________________
+
+EGCS does not work on AIX 4.3
+
+EGCS does not currently support AIX4.3; however, if you want to try and make it
+work with AIX 4.3 we highly recommend you get the fix for APAR IX74254 (64BIT
+DISASSEMBLED OUPUT FROM COMPILER FAILS TO ASSEMBLE/BIND) which is available
+from IBM Customer Support and IBM's service.boulder.ibm.com website.
+ __________________________________________________________________________
+
+Problems debugging egcs code
+
+On some systems egcs will produce dwarf debug records by default; however the
+current gdb-4.16 release may not be able to read such debug records.
+
+You can either use the argument "-gstabs" instead of "-g" or pick up the
+current beta copy of gdb-4.17 to work around the problem.
+ __________________________________________________________________________
+
+Conflicts when using cvs update
+
+It is not uncommon to get cvs conflict messages for some generated files when
+updating your local sources from the CVS repository. Typically such conflicts
+occur with bison or autoconf generated files.
+
+As long as you haven't been making modifications to the generated files or the
+generator files, it is safe to delete the offending file, then run cvs update
+again to get a new copy.
+ __________________________________________________________________________
+
+[46]Return to the egcs home page
+
+Last modified: March 04, 1998
References
- 1. file://localhost/home/law/INSTALL/faq.html#gcc-2-diff
- 2. file://localhost/home/law/INSTALL/faq.html#open-development
- 3. file://localhost/home/law/INSTALL/faq.html#release-fork
- 4. file://localhost/home/law/INSTALL/faq.html#libc-lock
- 5. file://localhost/home/law/INSTALL/faq.html#morelibc
- 6. file://localhost/home/law/INSTALL/faq.html#fortran
- 7. file://localhost/home/law/INSTALL/faq.html#mips
- 8. file://localhost/home/law/INSTALL/faq.html#x86eh
- 9. file://localhost/home/law/INSTALL/faq.html#hpcompare
- 10. file://localhost/home/law/INSTALL/faq.html#makebugs
- 11. file://localhost/home/law/INSTALL/faq.html#rpath
- 12. file://localhost/home/law/INSTALL/faq.html#rpath
- 13. file://localhost/home/law/INSTALL/faq.html#dejagnu
- 14. file://localhost/home/law/INSTALL/faq.html#cross
- 15. file://localhost/home/law/INSTALL/faq.html#multiple
- 16. file://localhost/home/law/INSTALL/faq.html#snapshot
- 17. file://localhost/home/law/INSTALL/faq.html#linuxkernel
- 18. file://localhost/home/law/INSTALL/faq.html#memexhausted
- 19. file://localhost/home/law/INSTALL/faq.html#gas
- 20. file://localhost/home/law/INSTALL/faq.html#rh5.0
- 21. file://localhost/home/law/INSTALL/faq.html#x86solaris
- 22. file://localhost/home/law/INSTALL/faq.html#windows
- 23. file://localhost/home/law/INSTALL/faq.html#environ
- 24. file://localhost/home/law/INSTALL/faq.html#kde
- 25. file://localhost/home/law/INSTALL/faq.html#open-development
- 26. file://localhost/home/law/INSTALL/faq.html#cathedral-vs-bazaar
- 27. http://locke.ccil.org/~esr/writings/cathedral.html
- 28. ftp://tsx-11.mit.edu/pub/linux/packages/GCC/binutils-2.8.1.0.15.tar.gz
- 29. ftp://tsx-11.mit.edu/pub/linux/packages/GCC/binutils-2.8.1.0.15.bin.tar.gz
- 30. ftp://tsx-11.mit.edu/pub/linux/packages/GCC/binutils-2.8.1.0.15.glibc.bin.tar.gz
- 31. ftp://ftp.cygnus.com/pub/egcs/infrastructure/gas-970915.tar.gz
- 32. ftp://ftp.cygnus.com/pub/egcs/infrastructure/dejagnu-971222.tar.gz
- 33. ftp://ftp.cygnus.com/pub/embedded/crossgcc/FAQ-0.8.1
- 34. file://localhost/home/law/INSTALL/index.html#mailinglists
- 35. http://www.cygnus.com/ml/egcs/1997-Dec/0594.html
- 36. http://www.xraylith.wisc.edu/~khan/software/gnu-win32
- 37. file://localhost/home/law/INSTALL/index.html
+ 1. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#gcc-2-diff
+ 2. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#open-development
+ 3. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#release-fork
+ 4. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#libc-lock
+ 5. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#morelibc
+ 6. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#fortran
+ 7. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#mips
+ 8. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#x86eh
+ 9. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#hpcompare
+ 10. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#makebugs
+ 11. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#rpath
+ 12. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#rpath
+ 13. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#dejagnu
+ 14. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#cross
+ 15. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#multiple
+ 16. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#snapshot
+ 17. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#linuxkernel
+ 18. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#memexhausted
+ 19. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#gas
+ 20. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#rh5.0
+ 21. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#x86solaris
+ 22. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#windows
+ 23. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#os2
+ 24. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#environ
+ 25. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#kde
+ 26. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#friend
+ 27. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#libg++
+ 28. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#autoconf/bison++
+ 29. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#aix
+ 30. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#gdb
+ 31. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#conflicts
+ 32. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#open-development
+ 33. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html#cathedral-vs-bazaar
+ 34. http://locke.ccil.org/~esr/writings/cathedral.html
+ 35. ftp://tsx-11.mit.edu/pub/linux/packages/GCC/binutils-2.8.1.0.20.tar.gz
+ 36. ftp://tsx-11.mit.edu/pub/linux/packages/GCC/binutils-2.8.1.0.20.bin.tar.gz
+ 37. ftp://tsx-11.mit.edu/pub/linux/packages/GCC/binutils-2.8.1.0.20.glibc.bin.tar.gz
+ 38. ftp://egcs.cygnus.com/pub/egcs/infrastructure/gas-970915.tar.gz
+ 39. ftp://egcs.cygnus.com/pub/egcs/infrastructure/dejagnu-971222.tar.gz
+ 40. ftp://ftp.cygnus.com/pub/embedded/crossgcc/FAQ-0.8.1
+ 41. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/index.html#mailinglists
+ 42. http://www.cygnus.com/ml/egcs/1997-Dec/0594.html
+ 43. http://www.xraylith.wisc.edu/~khan/software/gnu-win32
+ 44. http://www.goof.com/pcg/os2
+ 45. ftp://ftp.yggdrasil.com/private/hjl/libg++-2.8.1-980119.tar.gz
+ 46. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/index.html
diff --git a/INSTALL/FINALINSTALL b/INSTALL/FINALINSTALL
index 5508135a2ad..7676b30956c 100644
--- a/INSTALL/FINALINSTALL
+++ b/INSTALL/FINALINSTALL
@@ -1,5 +1,5 @@
- Final install egcs-1.0.1
+ Final install egcs-1.0.2
Now that egcs has been built and tested, you can install it with `cd
objdir; make install' for a native compiler or `cd objdir; make
diff --git a/INSTALL/INDEX b/INSTALL/INDEX
index 2abbe5979de..a10ef876b37 100644
--- a/INSTALL/INDEX
+++ b/INSTALL/INDEX
@@ -1,5 +1,5 @@
- Installing egcs-1.0.1
+ Installing egcs-1.0.2
This document describes the generic installation procedure for egcs as
well as detailing some target specific installation instructions for
@@ -37,10 +37,10 @@
References
- 1. file://localhost/home/law/INSTALL/faq.html
- 2. file://localhost/home/law/INSTALL/configure.html
- 3. file://localhost/home/law/INSTALL/build.html
- 4. file://localhost/home/law/INSTALL/test.html
- 5. file://localhost/home/law/INSTALL/finalinstall.html
- 6. file://localhost/home/law/INSTALL/specific.html
- 7. file://localhost/home/law/index.html
+ 1. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/faq.html
+ 2. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/configure.html
+ 3. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/build.html
+ 4. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/test.html
+ 5. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/finalinstall.html
+ 6. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/INSTALL/specific.html
+ 7. file://localhost/.automount/hurl/root/puke/law/egcs-1.0.1/index.html
diff --git a/INSTALL/TEST b/INSTALL/TEST
index 66b5f3c2f3c..a31422f0f9c 100644
--- a/INSTALL/TEST
+++ b/INSTALL/TEST
@@ -1,5 +1,5 @@
- Testing egcs-1.0.1
+ Testing egcs-1.0.2
Before you install egcs, you might wish to run the egcs testsuite;
this step is optional and may require you to download additional
@@ -13,7 +13,7 @@
Second, you must have a new version of dejagnu on your system;
dejagnu-1.3 will not work. We have made a [1]dejagnu snapshot
- available in ftp.cygnus.com:/pub/egcs/infrastructure until a new
+ available in egcs.cygnus.com:/pub/egcs/infrastructure until a new
version of dejagnu can be released.
Assuming you've got the testsuites unpacked and have installed an
@@ -24,11 +24,11 @@
distrubution as possible, including the C, C++ and Fortran compiler as
well as the C++ runtime libraries.
- How to interpret test results XXX.
+ How to interpret test results TBD.
_________________________________________________________________
Last modified on Jan 2, 1998.
References
- 1. ftp://ftp.cygnus.com/pub/egcs/infrastructure/dejagnu-971222.tar.gz
+ 1. ftp://egcs.cygnus.com/pub/egcs/infrastructure/dejagnu-971222.tar.gz
diff --git a/INSTALL/build.html b/INSTALL/build.html
index f333640496c..d774076886a 100644
--- a/INSTALL/build.html
+++ b/INSTALL/build.html
@@ -1,9 +1,9 @@
<html>
<head>
-<title>Building egcs-1.0.1 </title>
+<title>Building egcs-1.0.2 </title>
</head>
<body bgcolor="white">
-<h1 align="center">Building egcs-1.0.1</h1>
+<h1 align="center">Building egcs-1.0.2</h1>
<p>Now that egcs is configured, you are ready to build the compiler and
runtime libraries.
@@ -62,5 +62,6 @@ following steps:
<hr>
<i>Last modified on Jan 2, 1998.</i>
+<!--#include virtual="/glimpsebox.html"-->
</body>
</html>
diff --git a/INSTALL/configure.html b/INSTALL/configure.html
index 2e32d6943da..8c62e5024ca 100644
--- a/INSTALL/configure.html
+++ b/INSTALL/configure.html
@@ -1,9 +1,9 @@
<html>
<head>
-<title>Configuring egcs-1.0.1 </title>
+<title>Configuring egcs-1.0.2 </title>
</head>
<body bgcolor="white">
-<h1 align="center">Configuring egcs-1.0.1</h1>
+<h1 align="center">Configuring egcs-1.0.2</h1>
<p>Like most GNU software, egcs must be configured before it can be built.
This document attempts to describe the recommended configuration procedure
diff --git a/INSTALL/faq.html b/INSTALL/faq.html
index 1a43a77e00d..9145f352b2e 100644
--- a/INSTALL/faq.html
+++ b/INSTALL/faq.html
@@ -6,7 +6,7 @@
<h1 align="center">egcs Frequently Asked Questions</h1>
<ol>
- <li><a href="#gcc-2-diff">How is egcs be different from gcc2?</a>
+ <li><a href="#gcc-2-diff">How is egcs different from gcc2?</a>
<li><a href="#open-development">What is an open development model?</a>
<li><a href="#release-fork">Releases and Forking</a>
<li><a href="#libc-lock">bits/libc-lock.h: No such file or directory</a>
@@ -28,9 +28,15 @@
<li><a href="#rh5.0">egcs does not work on Red Hat 5.0</a>
<li><a href="#x86solaris">Unable to bootstrap on x86 Solaris2.{5,6}</a>
<li><a href="#windows">EGCS with Windows</a>
- <li><a href="#environ">cpp: Usage:... Error<a>
- <li><a href="#kde">EGCS will not build KDE<a>
-
+ <li><a href="#os2">EGCS with OS/2</a>
+ <li><a href="#environ">cpp: Usage:... Error</a>
+ <li><a href="#kde">EGCS will not build KDE</a>
+ <li><a href="#friend">Friend Templates</a>
+ <li><a href="#libg++">Where to find libg++</a>
+ <li><a href="#autoconf/bison++">Why do I need autoconf & bison</a>
+ <li><a href="#aix">EGCS does not work on AIX 4.3</a>
+ <li><a href="#gdb">Problems debugging egcs code</a>
+ <li><a href="#conflicts">Conflicts when using cvs update </a>
</ol>
<hr>
@@ -44,8 +50,7 @@ development efforts on gcc1 stopped and we all concentrated on making
gcc2 better than gcc1 could ever be. This is the kind of step forward
we want to make with egcs.
-<p>In brief, the three biggest differences between egcs and gcc2 are
-these:
+<p>In brief, the three biggest differences between egcs and gcc2 are:
<ul>
<li>More rexamination of basic architectual decisions of
@@ -242,11 +247,11 @@ exception handling is not working correctly, then odds are you're using a
buggy assembler.
<p>We recommend binutils-2.8.1.0.15 or newer.
-<br><a href="ftp://tsx-11.mit.edu/pub/linux/packages/GCC/binutils-2.8.1.0.15.tar.gz"> binutils-2.8.1.0.15 source</a>
-<br><a href="ftp://tsx-11.mit.edu/pub/linux/packages/GCC/binutils-2.8.1.0.15.bin.tar.gz"> binutils-2.8.1.0.15 x86 binary for libc5</a>
-<br><a href="ftp://tsx-11.mit.edu/pub/linux/packages/GCC/binutils-2.8.1.0.15.glibc.bin.tar.gz"> binutils-2.8.1.0.15 x86 binary for glibc2</a>
+<br><a href="ftp://tsx-11.mit.edu/pub/linux/packages/GCC/binutils-2.8.1.0.20.tar.gz"> binutils-2.8.1.0.20 source</a>
+<br><a href="ftp://tsx-11.mit.edu/pub/linux/packages/GCC/binutils-2.8.1.0.20.bin.tar.gz"> binutils-2.8.1.0.20 x86 binary for libc5</a>
+<br><a href="ftp://tsx-11.mit.edu/pub/linux/packages/GCC/binutils-2.8.1.0.20.glibc.bin.tar.gz"> binutils-2.8.1.0.20 x86 binary for glibc2</a>
Or, you can try a
-<a href="ftp://ftp.cygnus.com/pub/egcs/infrastructure/gas-970915.tar.gz"> binutils snapshot</a>; however, be aware that the binutils snapshot is untested
+<a href="ftp://egcs.cygnus.com/pub/egcs/infrastructure/gas-970915.tar.gz"> binutils snapshot</a>; however, be aware that the binutils snapshot is untested
and may not work (or even build). Use it at your own risk.
<hr>
@@ -301,7 +306,7 @@ not recreate it.
<p>If you get a message about unable to find "standard.exp" when trying to
run the egcs testsuites, then your dejagnu is too old to run the egcs tests.
You will need to get a newer version of dejagnu; we've made a
-<a href="ftp://ftp.cygnus.com/pub/egcs/infrastructure/dejagnu-971222.tar.gz">
+<a href="ftp://egcs.cygnus.com/pub/egcs/infrastructure/dejagnu-971222.tar.gz">
dejagnu snapshot</a> available until a new version of dejagnu can be released.
<hr>
@@ -465,6 +470,12 @@ support.
<a href="http://www.xraylith.wisc.edu/~khan/software/gnu-win32">GNU Win32 related projects</a>
<hr>
+<h2> <a name="os2">EGCS with OS/2</a></h2>
+<p>egcs does not currently support OS/2. However, Andrew Zabolotny has been
+working on a generic os/2 port with pgcc. The current code code can be found
+at <a href="http://www.goof.com/pcg/os2">http://www.goof.com/pcg/os2</a>.
+
+<hr>
<h2> <a name="environ">cpp: Usage:... Error</a></h2>
<p>If you get an error like this when building egcs (particularly when building
__mulsi3), then you likely have a problem with your environment variables.
@@ -495,12 +506,78 @@ is no longer accepted by g++.
<p> KDE uses such constructs and therefore will not build with egcs; note
patches are available to fix KDE.
+<hr>
+<h2> <a name="friend">Friend Templates<a></h2>
+<p>In order to make a specialization of a template function a friend of a
+(possibly template) class, you must explicitly state that the friend
+function is a template, by appending angle brackets to its name, and
+this template function must have been declared already. An error in
+the last public comment draft of the ANSI/ISO C++ Standard has led
+people to believe that was not necessary, but it is, and it was fixed
+in the final version of the Standard.
+
+<hr>
+<h2> <a name="libg++">Where to find libg++<a></h2>
+<p>Many folks have been asking where to find libg++ for egcs. First we
+should point out that few programs actually need libg++; most only need
+libstdc++/libio which are included in the egcs distribution.
+
+<p>If you do need libg++ you can get a libg++ snapshot which works with egcs
+from <a href="ftp://ftp.yggdrasil.com/private/hjl/libg++-2.8.1-980119.tar.gz">
+ftp://ftp.yggdrasil.com/private/hjl/libg++-2.8.1-980119.tar.gz</a>
+
+<hr>
+<h2> <a name="autoconf/bison++">Why do I need autoconf/bison<a></h2>
+<p>If you're using diffs up dated from one snapshot to the next, or
+if you're using the CVS repository, you may need autoconf, bison, or
+possibly other tools to rebuild egcs.
+
+<p>This is necessary because neither diff nor cvs keep timestamps
+correct. So it is possible for "make" to think a generated file is
+out of date.
+<p>If you do not have autoconf, bison, etc, then you can issue the
+following commands to touch all the generated files.
+
+<pre>
+touch `find egcs -name configure -print`
+touch egcs/gcc/c-parse.y
+touch egcs/gcc/objc/objc-parse.y
+touch egcs/gcc/{cstamp-h.in,c-gperf.h,c-parse.c,c-parse.h,cexp.c}
+touch egcs/gcc/cp/{parse.c,parse.h}
+touch egcs/gcc/objc/objc-parse.c
+</pre>
+
+<hr>
+<h2> <a name="aix">EGCS does not work on AIX 4.3<a></h2>
+<p>EGCS does not currently support AIX4.3; however, if you want to try
+and make it work with AIX 4.3 we highly recommend you get the
+fix for APAR IX74254 (64BIT DISASSEMBLED OUPUT FROM COMPILER FAILS TO
+ASSEMBLE/BIND) which is available from IBM Customer Support and IBM's
+service.boulder.ibm.com website.
+
+<hr>
+<h2><a name="gdb">Problems debugging egcs code</a></h2>
+<p>On some systems egcs will produce dwarf debug records by default; however
+the current gdb-4.16 release may not be able to read such debug records.
+
+<p>You can either use the argument "-gstabs" instead of "-g" or pick up
+the current beta copy of gdb-4.17 to work around the problem.
+
+<hr>
+<h2><a name="conflicts">Conflicts when using cvs update</a></h2>
+<p>It is not uncommon to get cvs conflict messages for some generated files
+when updating your local sources from the CVS repository. Typically such
+conflicts occur with bison or autoconf generated files.
+<p>As long as you haven't been making modifications to the generated files
+or the generator files, it is safe to delete the offending file, then run
+cvs update again to get a new copy.
<hr>
<p><a href="index.html">Return to the egcs home page</a>
-<p><i>Last modified: Jan 2, 1998</i>
+<p><i>Last modified: March 04, 1998</i>
+<!--#include virtual="/glimpsebox.html"-->
</body>
</html>
diff --git a/INSTALL/finalinstall.html b/INSTALL/finalinstall.html
index d0371a86bf9..60c57e442c4 100644
--- a/INSTALL/finalinstall.html
+++ b/INSTALL/finalinstall.html
@@ -1,9 +1,9 @@
<html>
<head>
-<title>Final install egcs-1.0.1 </title>
+<title>Final install egcs-1.0.2 </title>
</head>
<body bgcolor="white">
-<h1 align="center">Final install egcs-1.0.1</h1>
+<h1 align="center">Final install egcs-1.0.2</h1>
<p>Now that egcs has been built and tested, you can install it with
`cd <i>objdir</i>; make install' for a native compiler or
diff --git a/INSTALL/index.html b/INSTALL/index.html
index db59254a706..d638a6dc92b 100644
--- a/INSTALL/index.html
+++ b/INSTALL/index.html
@@ -1,9 +1,9 @@
<html>
<head>
-<title>Installing egcs-1.0.1 </title>
+<title>Installing egcs-1.0.2 </title>
</head>
<body bgcolor="white">
-<h1 align="center">Installing egcs-1.0.1</h1>
+<h1 align="center">Installing egcs-1.0.2</h1>
<p>This document describes the generic installation procedure for egcs as
well as detailing some target specific installation instructions for egcs.
diff --git a/INSTALL/specific.html b/INSTALL/specific.html
index 6faa1616080..fe69c613204 100644
--- a/INSTALL/specific.html
+++ b/INSTALL/specific.html
@@ -1,9 +1,9 @@
<html>
<head>
-<title>Host/Target specific installation notes for egcs-1.0.1 </title>
+<title>Host/Target specific installation notes for egcs-1.0.2 </title>
</head>
<body bgcolor="white">
-<h1 align="center">Host/Target specific installation notes for egcs-1.0.1</h1>
+<h1 align="center">Host/Target specific installation notes for egcs-1.0.2</h1>
<p><b>alpha*-*-*</b><br>
No specific installation needs/instructions.
@@ -23,11 +23,13 @@ the two object file formats. ELF is now the default.
<br>Look in gcc/config/i386/sco5.h (search for "messy") for additional
OpenServer-specific flags.
+<br>Systems based on OpenServer before 5.0.4 (<code>uname -X</code> will
+tell you what you're running) require TLS597 from ftp.sco.com/TLS for
+C++ constructors and destructors to work right.
+
<p><b>i?86-pc-solaris*</b><br>
You'll need a patch to fix an egcs bug on this platform.
-<a href="http://www.cygnus.com/egcs/faq.html#x86solaris"> x86 solaris patch</a>
-
-
+<a href="http://www-egcs.cygnus.com/faq.html#x86solaris"> x86 solaris patch</a>
<p><b>hppa*-hp-hpux*</b><br>
We <b>highly</b> recommend using gas/binutils-2.8 on all hppa platforms; you
@@ -107,21 +109,22 @@ this platform. make-3.76 is reported to work correctly.
<p><b>powerpc-*-linux-gnu*</b><br>
You will need
-<a href="ftp://ftp.yggdrasil.com/private/hjl">binutils-2.8.1.0.17</a> for
+<a href="ftp://ftp.yggdrasil.com/private/hjl">binutils-2.8.1.0.20</a> for
a working egcs. It is strongly recommended to recompile binutils with egcs
if you initially built it with gcc-2.7.2.*.
<p><b>sparc-unkonwn-linux-gnulibc1</b><br>
-It has been reported that you might need binutils-2.8.1.0.17 for this
+It has been reported that you might need binutils-2.8.1.0.20 for this
platform too.
-<a href="ftp://ftp.yggdrasil.com/private/hjl">binutils-2.8.1.0.17</a>
+<a href="ftp://ftp.yggdrasil.com/private/hjl">binutils-2.8.1.0.20</a>
<p>
exception handling
<p>XXX Linux stuff
-k encaps stuff
<hr>
-<i>Last modified on Jan 2, 1998.</i>
+<i>Last modified on February 7, 1998.</i>
+<!--#include virtual="/glimpsebox.html"-->
</body>
</html>
diff --git a/INSTALL/test.html b/INSTALL/test.html
index 5e2d2fa58d6..d9793cc74f4 100644
--- a/INSTALL/test.html
+++ b/INSTALL/test.html
@@ -1,9 +1,9 @@
<html>
<head>
-<title>Testing egcs-1.0.1 </title>
+<title>Testing egcs-1.0.2 </title>
</head>
<body bgcolor="white">
-<h1 align="center">Testing egcs-1.0.1</h1>
+<h1 align="center">Testing egcs-1.0.2</h1>
<p>Before you install egcs, you might wish to run the egcs testsuite; this
step is optional and may require you to download additional software.
@@ -16,8 +16,8 @@ front ends.
<p>Second, you must have a new version of dejagnu on your system; dejagnu-1.3
will not work. We have made a
-<a href="ftp://ftp.cygnus.com/pub/egcs/infrastructure/dejagnu-971222.tar.gz">
-dejagnu snapshot</a> available in ftp.cygnus.com:/pub/egcs/infrastructure until
+<a href="ftp://egcs.cygnus.com/pub/egcs/infrastructure/dejagnu-971222.tar.gz">
+dejagnu snapshot</a> available in egcs.cygnus.com:/pub/egcs/infrastructure until
a new version of dejagnu can be released.
<p>Assuming you've got the testsuites unpacked and have installed an appropriate
@@ -28,10 +28,11 @@ This may take a long time. Go get some lunch.
distrubution as possible, including the C, C++ and Fortran compiler as
well as the C++ runtime libraries.
-<p> How to interpret test results XXX.
+<p> How to interpret test results TBD.
<hr>
<i>Last modified on Jan 2, 1998.</i>
+<!--#include virtual="/glimpsebox.html"-->
</body>
</html>