summaryrefslogtreecommitdiffstats
path: root/INSTALL
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1998-05-09 16:50:47 -0600
committerJeff Law <law@gcc.gnu.org>1998-05-09 16:50:47 -0600
commit846522cbe7c4793e63082c2070055f7d10cfe1ea (patch)
tree7a0d4b6fdac77fb650149418ab99c3c1857287bb /INSTALL
parentclass.c (currently_open_class): New fn. (diff)
downloadgcc-846522cbe7c4793e63082c2070055f7d10cfe1ea.tar.gz
gcc-846522cbe7c4793e63082c2070055f7d10cfe1ea.tar.bz2
gcc-846522cbe7c4793e63082c2070055f7d10cfe1ea.tar.xz
Point folks to wwwdocs since those are the official versions.
From-SVN: r19651
Diffstat (limited to 'INSTALL')
-rw-r--r--INSTALL/BUILD54
-rw-r--r--INSTALL/CONFIGURE108
-rw-r--r--INSTALL/FAQ322
-rw-r--r--INSTALL/FINALINSTALL19
-rw-r--r--INSTALL/INDEX34
-rw-r--r--INSTALL/README17
-rw-r--r--INSTALL/SPECIFIC106
-rw-r--r--INSTALL/TEST28
-rw-r--r--INSTALL/build.html66
-rw-r--r--INSTALL/configure.html122
-rw-r--r--INSTALL/faq.html365
-rw-r--r--INSTALL/finalinstall.html30
-rw-r--r--INSTALL/index.html47
-rw-r--r--INSTALL/specific.html121
-rw-r--r--INSTALL/test.html37
15 files changed, 6 insertions, 1470 deletions
diff --git a/INSTALL/BUILD b/INSTALL/BUILD
deleted file mode 100644
index 03779e80830..00000000000
--- a/INSTALL/BUILD
+++ /dev/null
@@ -1,54 +0,0 @@
1Building egcs-1.0
2
3Now that egcs is configured, you are ready to build the compiler and
4runtime libraries.
5
6We highly recommend that egcs be built using gnu-make; other
7versions make work, then again they might not. To be safe build with gnu-make.
8
9Building a native compiler
10For a native build issue the command "make bootstrap". This will build
11the entire egcs compiler system, which includes the following steps:
12
13
14 Build host tools necessary to build the compiler such as texinfo, bison,
15 gperf.
16
17 Build target tools for use by the compiler such as gas, gld, and binutils.
18
19 Perform a 3-stage bootstrap of the compiler.
20
21 Perform a comparison test of the stage2 and stage3 compilers.
22
23 Build runtime libraries using the stage3 compiler from the previous step.
24
25
26If you are short on disk space you might consider "make bootstrap-lean"
27instead. This is identical to "make bootstrap" except that object files
28from the stage1 and stage2 of the 3-stage bootstrap of the compiler are
29deleted as soon as they are no longer needed.
30
31Building a cross compiler
32
33We recommend reading the crossgcc FAQ for information about building
34cross compilers.
35"ftp://ftp.cygnus.com/pub/embedded/crossgcc/FAQ-0.8.1"
36
37For a cross build, issue the command "make cross", which performs the
38following steps:
39
40 Build host tools necessary to build the compiler such as texinfo, bison,
41 gperf.
42
43 Build target tools for use by the compiler such as gas, gld, and binutils.
44
45 Build the compiler (single stage only).
46
47 Build runtime libraries using the compiler from the previous step.
48
49
50Note that if an error occurs in any step the make process will exit.
51
52
53Last modified on December 2, 1997.
54
diff --git a/INSTALL/CONFIGURE b/INSTALL/CONFIGURE
deleted file mode 100644
index 403657fab0c..00000000000
--- a/INSTALL/CONFIGURE
+++ /dev/null
@@ -1,108 +0,0 @@
1Configuring egcs-1.0
2
3Like most GNU software, egcs must be configured before it can be built.
4This document attempts to describe the recommended configuration procedure
5for both native and cross targets.
6
7We use srcdir to refer to the toplevel source directory for
8egcs; we use objdir to refer to the toplevel build/object
9directory for egcs.
10
11First, we highly recommend that egcs be built into a separate
12directory than the sources. This is how we generally build egcs; building
13where srcdir == objdir should still work, but doesn't get
14extensive testing.
15
16Second, when configuring a native system, either "cc" must be in your
17path or you must set CC in your environment before running configure.
18Otherwise the configuration scripts may fail.
19
20To configure egcs:
21
22 % mkdir objdir
23 % cd objdir
24 % srcdir/configure [target] [options]
25
26
27target specification
28
29 egcs has code to correctly determine the correct value for
30 target for nearly all native systems. Therefore, we highly
31 recommend you not provide a configure target when configuring a
32 native compiler.
33
34 target must be specified when configuring a cross compiler;
35 examples of valid targets would be i960-rtems, m68k-coff, sh-elf, etc.
36
37
38options specification
39
40Use options to override several configure time options for
41egcs. A partial list of supported options:
42
43
44 --prefix=dirname -- Specify the toplevel installation
45 directory. This is the recommended way to install the tools into a directory
46 other than the default. The toplevel installation directory defaults to
47 /usr/local.
48
49 These additional options control where certain parts of the distribution
50 are installed. Normally you should not need to use these options.
51
52 --with-local-prefix=dirname -- Specify the installation
53 directory for local include files. The default is /usr/local.
54
55 --with-gxx-include-dir=dirname -- Specify the installation
56 directory for g++ header files. The default is /usr/local/include/g++.
57
58
59 --enable-shared -- Build shared versions of the C++ runtime
60 libraries if supported --disable-shared is the default.
61
62 --enable-haifa -- Enable the new Haifa instruction scheduler in the
63 compiler; the new scheduler can significantly improve code on some targets.
64 --disable-haifa is currently the default on all platforms except the HPPA.
65
66 --with-gnu-as -- Specify that the compiler should assume the GNU
67 assembler (aka gas) is available.
68
69 --with-gnu-ld -- Specify that the compiler should assume the GNU
70 linker (aka gld) is available.
71
72 --with-stabs -- Specify that stabs debugging information should be used
73 instead of whatever format the host normally uses. Normally GCC uses the
74 same debug format as the host system.
75
76 --enable-multilib -- Specify that multiple target libraries
77 should be built to support different target variants, calling conventions,
78 etc. This is the default.
79
80 --enable-threads -- Specify that the target supports threads.
81 This only effects the Objective-C compiler and runtime library.
82
83 --enable-threads=lib -- Specify that lib is the
84 thread support library. This only effects the Objective-C compiler and
85 runtime library.
86
87 --with-cpu=cpu -- Specify which cpu variant the compiler should
88 generate code for by default. This is currently only supported on the
89 RS6000/PowerPC ports.
90
91
92Some options which only apply to building cross compilers:
93
94 --with-headers=dir -- Specifies a directory which has target
95 include files.
96 --with-libs=dirs -- Specifies a list of directories which contain
97 the target runtime libraries.
98 --with-newlib -- Specifies that "newlib" is being used as the target
99 C library. This causes __eprintf to be omitted from libgcc.a on the
100 assumption that it will be provided by newlib.
101
102
103Note that each --enable option has a corresponding --disable option and
104that each --with option has a corresponding --without option.
105
106
107
108Last modified on December 2, 1997.
diff --git a/INSTALL/FAQ b/INSTALL/FAQ
deleted file mode 100644
index 343243ddb17..00000000000
--- a/INSTALL/FAQ
+++ /dev/null
@@ -1,322 +0,0 @@
1egcs Frequently Asked Questions
2
3
4How is egcs be different from gcc2?
5
6Six years ago, gcc version 1 had reached a point of stability. For the
7targets it could support, it worked well. It had limitations inherent in
8its design that would be difficult to resolve, so a major effort was made
9and gcc version 2 was the result. When we had gcc2 in a useful state,
10development efforts on gcc1 stopped and we all concentrated on making
11gcc2 better than gcc1 could ever be. This is the kind of step forward
12we want to make with egcs.
13
14In brief, the three biggest differences between egcs and gcc2 are
15these:
16
17
18 More rexamination of basic architectual decisions of
19 gcc and an interest in adding new optimizations;
20
21 working with the groups who have fractured out from gcc2 (like
22 the Linux folks, the Intel optimizations folks, Fortran folks)
23 including more front-ends; and finally
24
25 An open development model (see below) for the development process.
26
27
28These three differences will work together to result in a more
29useful compiler, a more stable compiler, a central compiler that works
30for more people, a compiler that generates better code.
31
32
33There are a lot of exciting compiler optimizations that have come
34out. We want them in gcc. There are a lot of front ends out there for
35gcc for languages like Fortran or Pascal. We want them easily
36installable by users. After six years of working on gcc2, we've come
37to see problems and limitations in the way gcc is architected; it is
38time to address these again.
39
40
41What is an open development model?
42
43With egcs, we are going to try a bazaar style[1] approach to its
44development: We're going to be making snapshots publically available
45to anyone who wants to try them; we're going to welcome anyone to join
46the development mailing list. All of the discussions on the
47development mailing list are available via the web. We're going to be
48making releases with a much higher frequency than they have been made
49in the past: We're shooting for three by the end of 1997.
50
51In addition to weekly snapshots of the egcs development sources, we
52are going to look at making the sources readable from a CVS server by
53anyone. We want to make it so external maintainers of parts of egcs
54are able to commit changes to their part of egcs directly into the
55sources without going through an intermediary.
56
57There have been many potential gcc developers who were not able to
58participate in gcc development in the past. We these people to help in
59any way they can; we ultimately want gcc to be the best compiler in the
60world.
61
62A compiler is a complicated piece of software, there will still be
63strong central maintainers who will reject patches, who will demand
64documentation of implementations, and who will keep the level of
65quality as high as it is today. Code that could use wider testing may
66be intergrated--code that is simply ill-conceived won't be.
67
68egcs is not the first piece of software to use this open development
69process; FreeBSD, the Emacs lisp repository, and Linux are a few
70examples of the bazaar style of development.
71
72With egcs, we will be adding new features and optimizations at a
73rate that has not been done since the creation of gcc2; these additions
74will inevitably have a temporarily destabilizing effect. With the help
75of developers working together with this bazaar style development, the
76resulting stability and quality levels will be better than we've had
77before.
78
79cathedral-vs-bazaar[1]
80 We've been discussing different development models a lot over the
81 past few months. The paper which started all of this introduced two
82 terms: A cathedral development model versus a bazaar
83 development model. The paper is written by Eric S. Raymond, it is
84 called `` http://locke.ccil.org/~esr/writings/cathedral.html" The
85 Cathedral and the Bazaar''. The paper is a useful starting point
86 for discussions.
87
88
89
90bits/libc-lock.h: No such file or directory
91egcs includes a tightly integrated libio and libstdc++ implementation which
92can cause problems on hosts which have libio integrated into their C library
93(most notably Linux).
94
95We believe that we've solved the major technical problems for the most
96common versions of libc found on Linux systems. However, some versions
97of Linux use pre-release versions of glibc2, which egcs has trouble detecting
98and correctly handling.
99
100If you're using one of these pre-release versions of glibc2, you may get
101a message "bits/libc-lock.h: No such file or directory" when building egcs.
102Unfortunately, to fix this problem you will need to update your C library to
103glibc2.0.5c.
104
105Late breaking news: we may have at least a partial solution for these
106problems. So this FAQ entry may no longer be needed.
107
108
109`_IO_stdfile_0_lock' was not declared in this scope
110If you get this error, it means either egcs incorrectly guessed what version
111of libc is installed on your linux system, or you incorrectly specified a
112version of glibc when configuring egcs.
113
114If you did not provide a target name when configuring egcs, then you've
115found a bug which needs to be reported. If you did provide a target name at
116configure time, then you should reconfigure without specifying a target name.
117
118
119Problems building the Fortran compiler
120The Fortran front end can not be built with most vendor compilers; it must
121be built with gcc. As a result, you may get an error if you do not follow
122the install instructions carefully.
123
124In particular, instead of using "make" to build egcs, you should use
125"make bootstrap" if you are building a native compiler or "make cross"
126if you are building a cross compiler.
127
128It has also been reported that the Fortran compiler can not be built
129on Red Hat 4.X linux for the Alpha. Fixing this may require upgrading
130binutils or to Red Hat 5.0; we'll provide more information as it becomes
131available.
132
133
134Problems building on MIPS platforms
135egcs requires the use of GAS on all versions of Irix, except Irix 6 due
136to limitations in older Irix assemblers.
137
138 Either of these messages indicates that you are using the MIPS assembler
139when instead you should be using GAS.
140
141 as0: Error: ./libgcc2.c, line 1:Badly delimited numeric literal
142 .4byte $LECIE1-$LSCIE1
143 as0: Error: ./libgcc2.c, line 1:malformed statement
144
145
146
147 as0: Error: /home/law/egcs_release/gcc/libgcc2.c, line 1:undefined symbol in expression
148 .word $LECIE1-$LSCIE1
149
150
151 For Irix 6, you should use the native assembler as GAS is not supported
152on Irix 6.
153
154
155Problems with exception handling on x86 platforms
156If you are using the GNU assembler (aka gas) on an x86 platform and
157exception handling is not working correctly, then odds are you're using a
158buggy assembler.
159
160We recommend binutils-2.8.0.1.15 or newer.
161"ftp://tsx-11.mit.edu/pub/linux/packages/GCC/binutils-2.8.1.0.15.tar.gz binutils-2.8.0.1.15 source
162ftp://tsx-11.mit.edu/pub/linux/packages/GCC/binutils-2.8.1.0.15.bin.tar.gz binutils-2.8.0.1.15 x86 binary for libc5
163ftp://tsx-11.mit.edu/pub/linux/packages/GCC/binutils-2.8.1.0.15.glibc.bin.tar.gz binutils-2.8.0.1.15 x86 binary for glibc2
164Or, you can try a
165ftp://ftp.cygnus.com/pub/egcs/infrastructure/gas-970915.tar.gz binutils snapshot; however, be aware that the binutils snapshot is untested
166and may not work (or even build). Use it at your own risk.
167
168
169Bootstrap comparison failures on HPs
170If you bootstrap the compiler on hpux10 using the HP assembler instead of
171gas, every file will fail the comparison test.
172
173The HP asembler inserts timestamps into object files it creates, causing
174every file to be different. The location of the timestamp varies for each
175object file, so there's no real way to work around this mis-feature.
176
177Odds are your compiler is fine, but there's no way to be certain.
178
179If you use GAS on HPs, then you will not run into this problem because
180GAS never inserts timestamps into object files. For this and various other
181reasons we highly recommend using GAS on HPs.
182
183
184Bootstrap loops rebuilding cc1 over and over
185When building egcs, the build process loops rebuilding cc1 over and
186over again. This happens on mips-sgi-irix5.2, and possibly other platforms.
187
188This is probably a bug somewhere in the egcs Makefile. Until we find and
189fix this bug we recommend you use GNU make instead of vendor supplied make
190programs.
191
192
193Dynamic linker is unable to find GCC libraries
194This problem manifests itself by programs not finding shared libraries
195they depend on when the programs are started. Note this problem often manifests
196itself with failures in the libio/libstdc++ tests after configuring with
197--enable-shared and building egcs.
198
199GCC does not specify a runpath so that the dynamic linker can find dynamic
200libraries at runtime.
201
202The short explaination is that if you always pass a -R option to the
203linker, then your programs become dependent on directories which
204may be NFS mounted, and programs may hang unnecessarily when an
205NFS server goes down.
206
207The problem is not programs that do require the directories; those
208programs are going to hang no matter what you do. The problem is
209programs that do not require the directories.
210
211SunOS effectively always passed a -R option for every -L option;
212this was a bad idea, and so it was removed for Solaris. We should
213not recreate it.
214
215
216Unable to run the testsuite
217If you get a message about unable to find "standard.exp" when trying to
218run the egcs testsuites, then your dejagnu is too old to run the egcs tests.
219You will need to get a newer version of dejagnu; we've made a
220<a href="ftp://ftp.cygnus.com/pub/egcs/infrastructure/dejagnu-971028.tar.gz">
221dejagnu snapshot available until a new version of dejagnu can be released.
222
223
224How to build a cross compiler
225 Building cross compilers is a rather complex undertaking because they
226usually need additional software (cross assembler, cross linker, target
227libraries, target include files, etc).
228
229 We recommend reading the <a href="ftp://ftp.cygnus.com/pub/embedded/crossgcc/FAQ-0.8.1">
230crossgcc FAQ for information about building cross compilers.
231
232 If you have all the pieces available, then `make cross' should build a
233cross compiler. `make LANGUAGES="c c++" install'will install the cross
234compiler.
235
236 Note that if you're trying to build a cross compiler in a tree which
237includes binutils-2.8 in addition to egcs, then you're going to need to
238make a couple minor tweaks so that the cross assembler, linker and
239nm utilities will be found.
240
241binutils-2.8 builds those files as gas.new, ld.new and nm.new; egcs gcc
242looks for them using gas-new, ld-new and nm-new, so you may have to arrange
243for any symlinks which point to &ltfile&gt.new to be changed to &ltfile&gt-new.
244
245
246Snapshots, how, when, why
247 We make snapshots of the egcs sources about once a week; there is no
248predetermined schedule. These snapshots are intended to give everyone
249access to work in progress. Any given snapshot may generate incorrect code
250or even fail to build.
251
252If you plan on downloading and using snapshots, we highly recommend you
253subscribe to the egcs mailing lists. See <a href="index.html#mailinglists">
254mailing lists on the main egcs page for instructions on how to subscribe.
255
256When using the diff files to update from older snapshots to newer snapshots,
257make sure to use "-E" and "-p" arguments to patch so that empty files are
258deleted and full pathnames are provided to patch. If your version of
259patch does not support "-E", you'll need to get a newer version. Also note
260that you may need autoconf, autoheader and various other programs if you use
261diff files to update from one snapshot to the next.
262
263
264How to install both egcs and gcc2
265It may be desirable to install both egcs and gcc2 on the same system. This
266can be done by using different prefix paths at configure time and a few
267symlinks.
268
269Basically, configure the two compilers with different --prefix options,
270then build and install each compiler. Assume you want "gcc" to be the egcs
271compiler and available in /usr/local/bin; also assume that you want "gcc2"
272to be the gcc2 compiler and also available in /usr/local/bin.
273
274The easiest way to do this is to configure egcs with --prefix=/usr/local/egcs
275and gcc2 with --prefix=/usr/local/gcc2. Build and install both compilers.
276Then make a symlink from /usr/local/bin/gcc to /usr/local/egcs/bin/gcc and
277from /usr/local/bin/gcc2 to /usr/local/gcc2/bin/gcc. Create similar links
278for the "g++", "c++" and "g77" compiler drivers.
279
280
281Problems building Linux kernels
282If you installed a recent binutils/gas snapshot on your Linux system,
283you may not be able to build the kernel because objdump does not understand
284the "-k" switch. The solution for this problem is to remove /usr/bin/encaps.
285
286You may get an internal compiler error compiling process.c in newer
287versions of the Linux kernel on x86 machines. This is a bug in an asm
288statement in process.c, not a bug in egcs. XXX How to fix?!?
289
290You may get errors with the X driver of the form
291_X11TransSocketUNIXConnect: Can't connect: errno = 111
292
293It's a kernel bug. The function sys_iopl in arch/i386/kernel/process.c
294does an illegal hack which used to work but is now broken since GCC optimizes
295more aggressively . The newer 2.1.x kernels already have a fix which should
296also work in 2.0.32.
297
298
299Virtual memory exhausted error
300 This error means your system ran out of memory; this can happen for large
301files, particularly when optimizing. If you're getting this error you should
302consider trying to simplify your files or reducing the optimization level.
303
304Note that using -pedantic or -Wreturn-type can cause an explosion in the
305amount of memory needed for template-heavy C++ code, such as code that uses
306STL. Also note that -Wall includes -Wreturn-type, so if you use -Wall you
307will need to specify -Wno-return-type to turn it off.
308
309
310GCC can not find GAS
311Some configurations like irix4, irix5, hpux* require the use of the GNU
312assembler intead of the system assembler. To ensure that egcs finds the GNU
313assembler, you should configure the GNU assembler with the same --prefix
314option as you used for egcs. Then build & install the GNU assembler.
315
316
317egcs does not work on Red Hat 5.0
318 egcs does not currently work with Red Hat 5.0; we'll update this
319entry with more information as it becomes available.
320
321
322Last modified: December 2, 1997
diff --git a/INSTALL/FINALINSTALL b/INSTALL/FINALINSTALL
deleted file mode 100644
index 5d893c563e0..00000000000
--- a/INSTALL/FINALINSTALL
+++ /dev/null
@@ -1,19 +0,0 @@
1Final install egcs-1.0
2
3Now that egcs has been built and tested, you can install it with
4`cd objdir; make install' for a native compiler or
5`cd objdir; make install LANGUAGES="c c++"' for a cross compiler
6(note installing cross compilers will be easier in the next release!).
7
8
9That step completes the installation of egcs; user level binaries can
10be found in prefix/bin where prefix is the value you specified
11with the --prefix to configure (or /usr/local by default).
12
13If you don't mind, please send egcs@cygnus.com a short mail message
14indicating that you successfully built and installed egcs. Include
15the output from running srcdir/config.guess.
16
17If you find a bug in egcs, please report it to egcs-bugs@cygnus.com
18
19Last modified on December 2, 1997.
diff --git a/INSTALL/INDEX b/INSTALL/INDEX
deleted file mode 100644
index c651389f3f1..00000000000
--- a/INSTALL/INDEX
+++ /dev/null
@@ -1,34 +0,0 @@
1Installing egcs-1.0
2
3This document describes the generic installation procedure for egcs as
4well as detailing some target specific installation instructions for egcs.
5
6egcs includes several components that previously were separate distributions
7with their own installation instructions. This document supercedes all
8package specific installation instructions. We provide the component specific
9installation information in the source distribution for historical reference
10purposes only.
11
12We recommend you read the entire generic installation instructions as
13well as any target specific installation instructions before you proceed
14to configure, build, test and install egcs.
15
16If something goes wrong in the configure, build, test or install
17procedures, first double check that you followed the generic and target
18specific installation instructions carefully. Then check the EGCS FAQ
19(FAQ) to see if your problem is covered before you file a bug report.
20
21The installation procedure is broken into four steps.
22
23
24 Configure see CONFIGURE
25 Build see BUILD
26 Test see TEST
27 Final Install see FINALINSTALL
28
29
30Before starting the build/install procedure please browse the
31host/target specific installation notes (SPECIFIC).
32
33Last modified on December 2, 1997.
34
diff --git a/INSTALL/README b/INSTALL/README
index 786ca89ece4..67db7da23c4 100644
--- a/INSTALL/README
+++ b/INSTALL/README
@@ -1,14 +1,9 @@
1This directory contains installation instrutions for egcs-1.00. 1This directory has been obsoleted for egcs snapshots and CVS access.
2 2
3We're providing installation instructions in two forms, html and 3Instead check out the toplevel "wwwdocs" as a sibling of your egcs
4plaintext. 4tree or read these files via the egcs web site
5http://egcs.cygnus.com
5 6
6index.html is the toplevel install file for html browsers.
7
8INDEX is the toplevel install file in plaintext form.
9
10The most recent HTML installation instructions for egcs can be obtained from
11the egcs web site:
12
13http://www.cygnus.com/egcs/install
14 7
8Copies of the relavent files will be copied into this directory for
9releases.
diff --git a/INSTALL/SPECIFIC b/INSTALL/SPECIFIC
deleted file mode 100644
index 386836b83d9..00000000000
--- a/INSTALL/SPECIFIC
+++ /dev/null
@@ -1,106 +0,0 @@
1Host/Target specific installation notes for egcs-1.0
2
3alpha*-*-*
4No specific installation needs/instructions.
5
6
7i?86-*-linux*
8You will need binutils-2.8.1.0.15 or newer for exception handling to work.
9
10i?86-*-sco3.2v5*
11The SCO assembler is currently required. The GNU assembler is not up
12to the task of switching between ELF and COFF at runtime.
13
14Unlike various prereleases of GCC, that used '-belf' and defaulted to
15COFF, you must now use the '-melf' and '-mcoff' flags to toggle between
16the two object file formats. ELF is now the default.
17
18Look in gcc/config/i386/sco5.h (search for "messy") for additional
19OpenServer-specific flags.
20
21
22
23hppa*-hp-hpux*
24We highly recommend using gas/binutils-2.8 on all hppa platforms; you
25may encounter a variety of problems when using the HP assembler.
26
27hppa*-hp-hpux9
28The HP assembler has major problems on this platform. We've tried to work
29around the worst of the problems. However, those workarounds may be causing
30linker crashes in some circumstances; the workarounds also probably prevent
31shared libraries from working. Use the GNU assembler to avoid these problems.
32
33The configuration scripts for egcs will also trigger a bug in the hpux9
34shell. To avoid this problem set CONFIG_SHELL to /bin/ksh and SHELL to
35/bin/ksh in your environment.
36
37hppa*-hp-hpux10
38For hpux10.20, we highly recommend you pick up the latest sed
39patch from HP. HP has two sites which provide patches free of charge.
40
41http://us-support.external.hp.com for US, Canada, Asia-Pacific, and
42Latin-America
43http://europe-support.external.hp.com for Europe
44
45Retrieve patch PHCO_12862.
46
47The HP assembler on these systems is much better than the hpux9 assembler,
48but still has some problems. Most notably the assembler inserts timestamps
49into each object file it creates, causing the 3-stage comparison test to fail
50during a "make bootstrap". You should be able to continue by saying "make all"
51after getting the failure from "make bootstrap".
52
53m68k-*-nextstep*
54You absolutely must use GNU sed and GNU make on this platform.
55
56If you try to build the integrated C++ & C++ runtime libraries on this system
57you will run into trouble with include files. The way to get around this is
58to use the following sequence. Note you must have write permission to
59prefix for this sequence to work.
60
61cd objdir
62make all-texinfo all-bison all-byacc all-binutils all-gas all-ld
63cd gcc
64make bootstrap
65make install-headers-tar
66cd ..
67make bootstrap3
68
69m68k-sun-sunos4.1.1
70It is reported that you may need the GNU assembler on this platform.
71
72mips*-sgi-irix4
73mips*-sgi-irix5
74You must use GAS on these platforms, the native assembler can not handle the
75code for exception handling support on this platform.
76
77These systems don't have ranlib, which various components in egcs need; you
78should be able to avoid this problem by installing GNU binutils, which includes
79a functional ranlib for this system.
80
81You may get the following warning on irix4 platforms, it can be safely
82ignored.
83
84 warning: foo.o does not have gp tables for all its sections.
85
86mips*-sgi-irix6
87You must not use GAS on irix6 platforms; doing so will only cause problems.
88
89These systems don't have ranlib, which various components in egcs need; you
90should be able to avoid this problem by making a dummy script called ranlib
91which just exits with zero status and placing it in your path.
92
93rs6000-ibm-aix*
94powerpc-ibm-aix*
95At least one person as reported problems with older versions of gnu-make on
96this platform. make-3.76 is reported to work correctly.
97
98powerpc-*-linux-gnu*
99You will need binutils-2.8.1.0.17 from ftp://ftp.yggdrasil.com/private/hjl for
100a working egcs. It is strongly recommended to recompile binutils with egcs
101if you initially built it with gcc-2.7.2.*.
102
103
104exception handling
105XXX Linux stuff
106Last modified on December 2, 1997.
diff --git a/INSTALL/TEST b/INSTALL/TEST
deleted file mode 100644
index 749204571ca..00000000000
--- a/INSTALL/TEST
+++ /dev/null
@@ -1,28 +0,0 @@
1Testing egcs-1.0
2
3Before you install egcs, you might wish to run the egcs testsuite; this
4step is optional and may require you to download additional software.
5
6First, you must have downloaded the egcs testsuites; the full distribution
7contains testsuites. If you downloaded the "core" compiler plus any front
8ends, then you do not have the testsuites. You can download the testsuites
9from the same site where you downloaded the core distribution and language
10front ends.
11
12Second, you must have a new version of dejagnu on your system; dejagnu-1.3
13will not work. We have made a dejagnu snapshot
14ftp://ftp.cygnus.com/pub/egcs/infrastructure/dejagnu-971028.tar.gz
15dejagnu snapshot available in ftp.cygnus.com:/pub/egcs/infrastructure until
16a new version of dejagnu can be released.
17
18Assuming you've got the testsuites unpacked and have installed an appropriate
19dejagnu, you can run the testsuite with "cd objdir; make -k check".
20This may take a long time. Go get some lunch.
21
22The testing process will try to test as many components in the egcs
23distrubution as possible, including the C, C++ and Fortran compiler as
24well as the C++ runtime libraries.
25
26 How to interpret test results XXX.
27
28Last modified on December 2, 1997.
diff --git a/INSTALL/build.html b/INSTALL/build.html
deleted file mode 100644
index 750b2c4a5f2..00000000000
--- a/INSTALL/build.html
+++ /dev/null
@@ -1,66 +0,0 @@
1<html>
2<head>
3<title>Building egcs-1.0 </title>
4</head>
5<body bgcolor="white">
6<h1 align="center">Building egcs-1.0</h1>
7
8<p>Now that egcs is configured, you are ready to build the compiler and
9runtime libraries.
10
11<p>We <b>highly</b> recommend that egcs be built using gnu-make; other
12versions make work, then again they might not. To be safe build with gnu-make.
13
14<p><b>Building a native compiler</b>
15<p>For a native build issue the command "make bootstrap". This will build
16the entire egcs compiler system, which includes the following steps:
17
18<ul>
19 <li> Build host tools necessary to build the compiler such as texinfo, bison,
20 gperf.<p>
21
22 <li> Build target tools for use by the compiler such as gas, gld, and
23 binutils.<p>
24
25 <li> Perform a 3-stage bootstrap of the compiler.<p>
26
27 <li> Perform a comparison test of the stage2 and stage3 compilers.<p>
28
29 <li> Build runtime libraries using the stage3 compiler from the previous
30 step.<p>
31</ul>
32
33<p>If you are short on disk space you might consider "make bootstrap-lean"
34instead. This is identical to "make bootstrap" except that object files
35from the stage1 and stage2 of the 3-stage bootstrap of the compiler are
36deleted as soon as they are no longer needed.
37
38<p><b>Building a cross compiler</b>
39
40<p> We recommend reading the
41<a href="ftp://ftp.cygnus.com/pub/embedded/crossgcc/FAQ-0.8.1">
42crossgcc FAQ</a> for information about building cross compilers.
43
44<p>For a cross build, issue the command "make cross", which performs the
45following steps:
46<ul>
47 <li> Build host tools necessary to build the compiler such as texinfo, bison,
48 gperf.<p>
49
50 <li> Build target tools for use by the compiler such as gas, gld, and
51 binutils.<p>
52
53 <li> Build the compiler (single stage only).<p>
54
55 <li> Build runtime libraries using the compiler from the previous
56 step.<p>
57</ul>
58
59<p>Note that if an error occurs in any step the make process will exit.
60
61<p>
62<hr>
63<i>Last modified on December 2, 1997.</i>
64
65</body>
66</html>
diff --git a/INSTALL/configure.html b/INSTALL/configure.html
deleted file mode 100644
index ff26b384b9c..00000000000
--- a/INSTALL/configure.html
+++ /dev/null
@@ -1,122 +0,0 @@
1<html>
2<head>
3<title>Configuring egcs-1.0 </title>
4</head>
5<body bgcolor="white">
6<h1 align="center">Configuring egcs-1.0</h1>
7
8<p>Like most GNU software, egcs must be configured before it can be built.
9This document attempts to describe the recommended configuration procedure
10for both native and cross targets.
11
12<p>We use <i>srcdir</i> to refer to the toplevel source directory for
13egcs; we use <i>objdir</i> to refer to the toplevel build/object
14directory for egcs.
15
16<p>First, we <b>highly</b> recommend that egcs be built into a separate
17directory than the sources. This is how we generally build egcs; building
18where <i>srcdir</i> == <i>objdir</i> should still work, but doesn't get
19extensive testing.
20
21<p>Second, when configuring a native system, either "cc" must be in your
22path or you must set CC in your environment before running configure.
23Otherwise the configuration scripts may fail.
24
25<p>To configure egcs:
26
27<blockquote>
28<tt>
29 <br>% mkdir <i>objdir</i>
30 <br>% cd <i>objdir</i>
31 <br>% <i>srcdir</i>/configure <b>[target]</b> <b>[options]</b>
32</tt>
33</blockquote>
34
35
36<p><b>target specification</b>
37<ul>
38 <li> egcs has code to correctly determine the correct value for
39 <b>target</b> for nearly all native systems. Therefore, we highly
40 recommend you not provide a configure target when configuring a
41 native compiler.
42
43 <li> <b>target</b> must be specified when configuring a cross compiler;
44 examples of valid targets would be i960-rtems, m68k-coff, sh-elf, etc.
45</ul>
46
47
48<p><b> options specification</b>
49
50<p>Use <b>options</b> to override several configure time options for
51egcs. A partial list of supported <tt>options</tt>:
52
53<ul>
54 <li> <tt>--prefix=</tt><i>dirname</i> -- Specify the toplevel installation
55 directory. This is the recommended way to install the tools into a directory
56 other than the default. The toplevel installation directory defaults to
57 /usr/local.
58
59 <br>These additional options control where certain parts of the distribution
60 are installed. Normally you should not need to use these options.
61 <ul>
62 <li> <tt>--with-local-prefix=</tt><i>dirname</i> -- Specify the installation
63 directory for local include files. The default is /usr/local.
64
65 <li> <tt>--with-gxx-include-dir=</tt><i>dirname</i> -- Specify the installation
66 directory for g++ header files. The default is /usr/local/include/g++.
67 </ul>
68
69 <li> <tt>--enable-shared</tt> -- Build shared versions of the C++ runtime
70 libraries if supported <tt>--disable-shared</tt> is the default.
71
72 <li> <tt>--enable-haifa</tt> -- Enable the new Haifa instruction scheduler in the
73 compiler; the new scheduler can significantly improve code on some targets.
74 <tt>--disable-haifa</tt> is currently the default on all platforms except the HPPA.
75
76 <li> <tt>--with-gnu-as</tt> -- Specify that the compiler should assume the GNU
77 assembler (aka gas) is available.
78
79 <li> <tt>--with-gnu-ld</tt> -- Specify that the compiler should assume the GNU
80 linker (aka gld) is available.
81
82 <li> <tt>--with-stabs</tt> -- Specify that stabs debugging information should be used
83 instead of whatever format the host normally uses. Normally GCC uses the
84 same debug format as the host system.
85
86 <li> <tt>--enable-multilib</tt> -- Specify that multiple target libraries
87 should be built to support different target variants, calling conventions,
88 etc. This is the default.
89
90 <li> <tt>--enable-threads</tt> -- Specify that the target supports threads.
91 This only effects the Objective-C compiler and runtime library.
92
93 <li> <tt>--enable-threads=</tt><i>lib</i> -- Specify that <i>lib</i> is the
94 thread support library. This only effects the Objective-C compiler and
95 runtime library.
96
97 <li> <tt>--with-cpu=</tt><i>cpu</i> -- Specify which cpu variant the compiler should
98 generate code for by default. This is currently only supported on the
99 RS6000/PowerPC ports.
100</ul>
101
102<p>Some options which only apply to building cross compilers:
103<ul>
104 <li> <tt>--with-headers=</tt><i>dir</i> -- Specifies a directory which has target
105 include files.
106 <li> <tt>--with-libs=</tt><i>dirs</i> -- Specifies a list of directories which contain
107 the target runtime libraries.
108 <li> <tt>--with-newlib</tt> -- Specifies that "newlib" is being used as the target
109 C library. This causes __eprintf to be omitted from libgcc.a on the
110 assumption that it will be provided by newlib.
111</ul>
112
113<p>Note that each <tt>--enable</tt> option has a corresponding <tt>--disable</tt> option and
114that each <tt>--with</tt> option has a corresponding <tt>--without</tt> option.
115
116
117<p>
118<hr>
119<i>Last modified on December 2, 1997.</i>
120
121</body>
122</html>
diff --git a/INSTALL/faq.html b/INSTALL/faq.html
deleted file mode 100644
index cbc82dafe12..00000000000
--- a/INSTALL/faq.html
+++ /dev/null
@@ -1,365 +0,0 @@
1<html>
2<head>
3<title>egcs Frequently Asked Questions</title>
4</head>
5<body bgcolor="white">
6<h1 align="center">egcs Frequently Asked Questions</h1>
7
8<ol>
9 <li><a href="#gcc-2-diff">How is egcs be different from gcc2?</a>
10 <li><a href="#open-development">What is an open development model?</a>
11 <li><a href="#libc-lock">bits/libc-lock.h: No such file or directory</a>
12 <li><a href="#morelibc">`_IO_stdfile_0_lock' was not declared in this scope</a>
13 <li><a href="#fortran">Problems building the Fortran compiler</a>
14 <li><a href="#mips">Problems building on MIPS platforms</a>
15 <li><a href="#x86eh">Problems with exception handling on x86 platforms</a>
16 <li><a href="#hpcompare">Bootstrap comparison failures on HPs</a>
17 <li><a href="#makebugs">Bootstrap loops rebuilding cc1 over and over</a>
18 <li><a href="#rpath">Dynamic linker is unable to find GCC libraries</a>
19 <li><a href="#rpath">libstdc++/libio tests fail badly with --enable-shared</a>
20 <li><a href="#dejagnu">Unable to run the testsuite</a>
21 <li><a href="#cross">How to build a cross compiler</a>
22 <li><a href="#multiple">How to install both gcc2 and egcs</a>
23 <li><a href="#snapshot">Snapshots, how, when, why</a>
24 <li><a href="#linuxkernel">Problems building Linux kernels</a>
25 <li><a href="#memexhausted">Virtual memory exhausted</a>
26 <li><a href="#gas">GCC can not find GAS</a>
27 <li><a href="#rh5.0">egcs does not work on Red Hat 5.0</a>
28
29</ol>
30
31<hr>
32<h2><a name="gcc-2-diff">How is egcs be different from gcc2?</a></h2>
33
34<p>Six years ago, gcc version 1 had reached a point of stability. For the
35targets it could support, it worked well. It had limitations inherent in
36its design that would be difficult to resolve, so a major effort was made
37and gcc version 2 was the result. When we had gcc2 in a useful state,
38development efforts on gcc1 stopped and we all concentrated on making
39gcc2 better than gcc1 could ever be. This is the kind of step forward
40we want to make with egcs.
41
42<p>In brief, the three biggest differences between egcs and gcc2 are
43these:
44
45<ul>
46 <li>More rexamination of basic architectual decisions of
47 gcc and an interest in adding new optimizations;
48
49 <li>working with the groups who have fractured out from gcc2 (like
50 the Linux folks, the Intel optimizations folks, Fortran folks)
51 including more front-ends; and finally
52
53 <li>An open development model (<a
54 href="#open-development">see below</a>) for the development process.
55</ul>
56
57<p>These three differences will work together to result in a more
58useful compiler, a more stable compiler, a central compiler that works
59for more people, a compiler that generates better code.
60
61
62<p>There are a lot of exciting compiler optimizations that have come
63out. We want them in gcc. There are a lot of front ends out there for
64gcc for languages like Fortran or Pascal. We want them easily
65installable by users. After six years of working on gcc2, we've come
66to see problems and limitations in the way gcc is architected; it is
67time to address these again.
68
69<hr>
70<h2><a name="open-development">What is an open development model?</a></h2>
71
72<p>With egcs, we are going to try a bazaar style<a
73href="#cathedral-vs-bazaar"><b>[1]</b></a> approach to its
74development: We're going to be making snapshots publically available
75to anyone who wants to try them; we're going to welcome anyone to join
76the development mailing list. All of the discussions on the
77development mailing list are available via the web. We're going to be
78making releases with a much higher frequency than they have been made
79in the past: We're shooting for three by the end of 1997.
80
81<p>In addition to weekly snapshots of the egcs development sources, we
82are going to look at making the sources readable from a CVS server by
83anyone. We want to make it so external maintainers of parts of egcs
84are able to commit changes to their part of egcs directly into the
85sources without going through an intermediary.
86
87<p>There have been many potential gcc developers who were not able to
88participate in gcc development in the past. We these people to help in
89any way they can; we ultimately want gcc to be the best compiler in the
90world.
91
92<p>A compiler is a complicated piece of software, there will still be
93strong central maintainers who will reject patches, who will demand
94documentation of implementations, and who will keep the level of
95quality as high as it is today. Code that could use wider testing may
96be intergrated--code that is simply ill-conceived won't be.
97
98<p>egcs is not the first piece of software to use this open development
99process; FreeBSD, the Emacs lisp repository, and Linux are a few
100examples of the bazaar style of development.
101
102<p>With egcs, we will be adding new features and optimizations at a
103rate that has not been done since the creation of gcc2; these additions
104will inevitably have a temporarily destabilizing effect. With the help
105of developers working together with this bazaar style development, the
106resulting stability and quality levels will be better than we've had
107before.
108
109<blockquote>
110<a name="cathedral-vs-bazaar"><b>[1]</b></a>
111 We've been discussing different development models a lot over the
112 past few months. The paper which started all of this introduced two
113 terms: A <b>cathedral</b> development model versus a <b>bazaar</b>
114 development model. The paper is written by Eric S. Raymond, it is
115 called ``<a
116 href="http://locke.ccil.org/~esr/writings/cathedral.html">The
117 Cathedral and the Bazaar</a>''. The paper is a useful starting point
118 for discussions.
119</blockquote>
120
121
122<hr>
123<h2><a name="libc-lock">bits/libc-lock.h: No such file or directory</a></h2>
124<p>egcs includes a tightly integrated libio and libstdc++ implementation which
125can cause problems on hosts which have libio integrated into their C library
126(most notably Linux).
127
128<p>We believe that we've solved the major technical problems for the most
129common versions of libc found on Linux systems. However, some versions
130of Linux use pre-release versions of glibc2, which egcs has trouble detecting
131and correctly handling.
132
133<p>If you're using one of these pre-release versions of glibc2, you may get
134a message "bits/libc-lock.h: No such file or directory" when building egcs.
135Unfortunately, to fix this problem you will need to update your C library to
136glibc2.0.5c.
137
138<p>Late breaking news: we may have at least a partial solution for these
139problems. So this FAQ entry may no longer be needed.
140
141<hr>
142<h2><a name="morelibc">`_IO_stdfile_0_lock' was not declared in this scope</a></h2>
143<p>If you get this error, it means either egcs incorrectly guessed what version
144of libc is installed on your linux system, or you incorrectly specified a
145version of glibc when configuring egcs.
146
147<p>If you did not provide a target name when configuring egcs, then you've
148found a bug which needs to be reported. If you did provide a target name at
149configure time, then you should reconfigure without specifying a target name.
150
151<hr>
152<h2><a name="fortran">Problems building the Fortran compiler</a></h2>
153<p>The Fortran front end can not be built with most vendor compilers; it must
154be built with gcc. As a result, you may get an error if you do not follow
155the install instructions carefully.
156
157<p>In particular, instead of using "make" to build egcs, you should use
158"make bootstrap" if you are building a native compiler or "make cross"
159if you are building a cross compiler.
160
161<p>It has also been reported that the Fortran compiler can not be built
162on Red Hat 4.X linux for the Alpha. Fixing this may require upgrading
163binutils or to Red Hat 5.0; we'll provide more information as it becomes
164available.
165
166<hr>
167<h2><a name="mips">Problems building on MIPS platforms</a></h2>
168<p>egcs requires the use of GAS on all versions of Irix, except Irix 6 due
169to limitations in older Irix assemblers.
170
171<p> Either of these messages indicates that you are using the MIPS assembler
172when instead you should be using GAS.
173
174<pre>
175 as0: Error: ./libgcc2.c, line 1:Badly delimited numeric literal
176 .4byte $LECIE1-$LSCIE1
177 as0: Error: ./libgcc2.c, line 1:malformed statement
178</pre>
179
180<hr>
181<pre>
182 as0: Error: /home/law/egcs_release/gcc/libgcc2.c, line 1:undefined symbol in expression
183 .word $LECIE1-$LSCIE1
184
185</pre>
186
187
188<p> For Irix 6, you should use the native assembler as GAS is not supported
189on Irix 6.
190
191<hr>
192<h2> <a name="x86eh">Problems with exception handling on x86 platforms</a></h2>
193<p>If you are using the GNU assembler (aka gas) on an x86 platform and
194exception handling is not working correctly, then odds are you're using a
195buggy assembler.
196
197<p>We recommend binutils-2.8.0.1.15 or newer.
198<br><a href="ftp://tsx-11.mit.edu/pub/linux/packages/GCC/binutils-2.8.1.0.15.tar.gz"> binutils-2.8.0.1.15 source</a>
199<br><a href="ftp://tsx-11.mit.edu/pub/linux/packages/GCC/binutils-2.8.1.0.15.bin.tar.gz"> binutils-2.8.0.1.15 x86 binary for libc5</a>
200<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.0.1.15 x86 binary for glibc2</a>
201Or, you can try a
202<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
203and may not work (or even build). Use it at your own risk.
204
205<hr>
206<h2> <a name="hpcompare">Bootstrap comparison failures on HPs</a></h2>
207<p>If you bootstrap the compiler on hpux10 using the HP assembler instead of
208gas, every file will fail the comparison test.
209
210<p>The HP asembler inserts timestamps into object files it creates, causing
211every file to be different. The location of the timestamp varies for each
212object file, so there's no real way to work around this mis-feature.
213
214<p>Odds are your compiler is fine, but there's no way to be certain.
215
216<p>If you use GAS on HPs, then you will not run into this problem because
217GAS never inserts timestamps into object files. For this and various other
218reasons we highly recommend using GAS on HPs.
219
220<hr>
221<h2> <a name="makebugs">Bootstrap loops rebuilding cc1 over and over</a></h2>
222<p>When building egcs, the build process loops rebuilding cc1 over and
223over again. This happens on mips-sgi-irix5.2, and possibly other platforms.
224
225<p>This is probably a bug somewhere in the egcs Makefile. Until we find and
226fix this bug we recommend you use GNU make instead of vendor supplied make
227programs.
228
229<hr>
230<h2> <a name="rpath">Dynamic linker is unable to find GCC libraries</a></h2>
231<p>This problem manifests itself by programs not finding shared libraries
232they depend on when the programs are started. Note this problem often manifests
233itself with failures in the libio/libstdc++ tests after configuring with
234--enable-shared and building egcs.
235
236<p>GCC does not specify a runpath so that the dynamic linker can find dynamic
237libraries at runtime.
238
239<p>The short explaination is that if you always pass a -R option to the
240linker, then your programs become dependent on directories which
241may be NFS mounted, and programs may hang unnecessarily when an
242NFS server goes down.
243
244<p>The problem is not programs that do require the directories; those
245programs are going to hang no matter what you do. The problem is
246programs that do not require the directories.
247
248<p>SunOS effectively always passed a -R option for every -L option;
249this was a bad idea, and so it was removed for Solaris. We should
250not recreate it.
251
252<hr>
253<h2> <a name="dejagnu">Unable to run the testsuite</a></h2>
254<p>If you get a message about unable to find "standard.exp" when trying to
255run the egcs testsuites, then your dejagnu is too old to run the egcs tests.
256You will need to get a newer version of dejagnu; we've made a
257<a href="ftp://ftp.cygnus.com/pub/egcs/infrastructure/dejagnu-971028.tar.gz">
258dejagnu snapshot</a> available until a new version of dejagnu can be released.
259
260<hr>
261<h2> <a name="cross">How to build a cross compiler</a></h2>
262<p> Building cross compilers is a rather complex undertaking because they
263usually need additional software (cross assembler, cross linker, target
264libraries, target include files, etc).
265
266<p> We recommend reading the <a href="ftp://ftp.cygnus.com/pub/embedded/crossgcc/FAQ-0.8.1">
267crossgcc FAQ</a> for information about building cross compilers.
268
269<p> If you have all the pieces available, then `make cross' should build a
270cross compiler. `make LANGUAGES="c c++" install'will install the cross
271compiler.
272
273<p> Note that if you're trying to build a cross compiler in a tree which
274includes binutils-2.8 in addition to egcs, then you're going to need to
275make a couple minor tweaks so that the cross assembler, linker and
276nm utilities will be found.
277
278<p>binutils-2.8 builds those files as gas.new, ld.new and nm.new; egcs gcc
279looks for them using gas-new, ld-new and nm-new, so you may have to arrange
280for any symlinks which point to &ltfile&gt.new to be changed to &ltfile&gt-new.
281
282<hr>
283<h2> <a name="snapshot">Snapshots, how, when, why</a></h2>
284<p> We make snapshots of the egcs sources about once a week; there is no
285predetermined schedule. These snapshots are intended to give everyone
286access to work in progress. Any given snapshot may generate incorrect code
287or even fail to build.
288
289<p>If you plan on downloading and using snapshots, we highly recommend you
290subscribe to the egcs mailing lists. See <a href="index.html#mailinglists">
291mailing lists</a> on the main egcs page for instructions on how to subscribe.
292
293<p>When using the diff files to update from older snapshots to newer snapshots,
294make sure to use "-E" and "-p" arguments to patch so that empty files are
295deleted and full pathnames are provided to patch. If your version of
296patch does not support "-E", you'll need to get a newer version. Also note
297that you may need autoconf, autoheader and various other programs if you use
298diff files to update from one snapshot to the next.
299
300<hr>
301<h2> <a name="multiple">How to install both egcs and gcc2</a></h2>
302<p>It may be desirable to install both egcs and gcc2 on the same system. This
303can be done by using different prefix paths at configure time and a few
304symlinks.
305
306<p>Basically, configure the two compilers with different --prefix options,
307then build and install each compiler. Assume you want "gcc" to be the egcs
308compiler and available in /usr/local/bin; also assume that you want "gcc2"
309to be the gcc2 compiler and also available in /usr/local/bin.
310
311<p>The easiest way to do this is to configure egcs with --prefix=/usr/local/egcs
312and gcc2 with --prefix=/usr/local/gcc2. Build and install both compilers.
313Then make a symlink from /usr/local/bin/gcc to /usr/local/egcs/bin/gcc and
314from /usr/local/bin/gcc2 to /usr/local/gcc2/bin/gcc. Create similar links
315for the "g++", "c++" and "g77" compiler drivers.
316
317<hr>
318<h2> <a name="linuxkernel">Problems building Linux kernels</a></h2>
319<p>If you installed a recent binutils/gas snapshot on your Linux system,
320you may not be able to build the kernel because objdump does not understand
321the "-k" switch. The solution for this problem is to remove /usr/bin/encaps.
322
323<p>You may get an internal compiler error compiling process.c in newer
324versions of the Linux kernel on x86 machines. This is a bug in an asm
325statement in process.c, not a bug in egcs. XXX How to fix?!?
326
327<p>You may get errors with the X driver of the form
328<pre>
329_X11TransSocketUNIXConnect: Can't connect: errno = 111
330</pre>
331
332<p>It's a kernel bug. The function sys_iopl in arch/i386/kernel/process.c
333does an illegal hack which used to work but is now broken since GCC optimizes
334more aggressively . The newer 2.1.x kernels already have a fix which should
335also work in 2.0.32.
336
337<hr>
338<h2> <a name="memexhausted">Virtual memory exhausted error</a></h2>
339<p> This error means your system ran out of memory; this can happen for large
340files, particularly when optimizing. If you're getting this error you should
341consider trying to simplify your files or reducing the optimization level.
342
343<p>Note that using -pedantic or -Wreturn-type can cause an explosion in the
344amount of memory needed for template-heavy C++ code, such as code that uses
345STL. Also note that -Wall includes -Wreturn-type, so if you use -Wall you
346will need to specify -Wno-return-type to turn it off.
347
348<hr>
349<h2> <a name="gas">GCC can not find GAS</a></h2>
350<p>Some configurations like irix4, irix5, hpux* require the use of the GNU
351assembler intead of the system assembler. To ensure that egcs finds the GNU
352assembler, you should configure the GNU assembler with the same --prefix
353option as you used for egcs. Then build & install the GNU assembler.
354
355<hr>
356<h2> <a name="rh5.0">egcs does not work on Red Hat 5.0</a></h2>
357<p> egcs does not currently work with Red Hat 5.0; we'll update this
358entry with more information as it becomes available.
359
360<hr>
361<p><a href="index.html">Return to the egcs home page</a>
362<p><i>Last modified: December 2, 1997</i>
363
364</body>
365</html>
diff --git a/INSTALL/finalinstall.html b/INSTALL/finalinstall.html
deleted file mode 100644
index c7984f106a7..00000000000
--- a/INSTALL/finalinstall.html
+++ /dev/null
@@ -1,30 +0,0 @@
1<html>
2<head>
3<title>Final install egcs-1.0 </title>
4</head>
5<body bgcolor="white">
6<h1 align="center">Final install egcs-1.0</h1>
7
8<p>Now that egcs has been built and tested, you can install it with
9`cd <i>objdir</i>; make install' for a native compiler or
10`cd <i>objdir</i>; make install LANGUAGES="c c++"' for a cross compiler
11(note installing cross compilers will be easier in the next release!).
12
13
14<p>That step completes the installation of egcs; user level binaries can
15be found in <i>prefix</i>/bin where <i>prefix</i> is the value you specified
16with the --prefix to configure (or /usr/local by default).
17
18<p>If you don't mind, please send egcs@cygnus.com a short mail message
19indicating that you successfully built and installed egcs. Include
20the output from running <i>srcdir</i>/config.guess.
21
22<p>If you find a bug in egcs, please report it to
23<a href="mailto:egcs-bugs@cygnus.com">egcs-bugs@cygnus.com</a>.
24
25<p>
26<hr>
27<i>Last modified on December 2, 1997.</i>
28
29</body>
30</html>
diff --git a/INSTALL/index.html b/INSTALL/index.html
deleted file mode 100644
index 5c556ec7615..00000000000
--- a/INSTALL/index.html
+++ /dev/null
@@ -1,47 +0,0 @@
1<html>
2<head>
3<title>Installing egcs-1.0 </title>
4</head>
5<body bgcolor="white">
6<h1 align="center">Installing egcs-1.0</h1>
7
8<p>This document describes the generic installation procedure for egcs as
9well as detailing some target specific installation instructions for egcs.
10
11<p>egcs includes several components that previously were separate distributions
12with their own installation instructions. This document supercedes all
13package specific installation instructions. We provide the component specific
14installation information in the source distribution for historical reference
15purposes only.
16
17<p>We recommend you read the entire generic installation instructions as
18well as any target specific installation instructions before you proceed
19to configure, build, test and install egcs.
20
21<p>If something goes wrong in the configure, build, test or install
22procedures, first double check that you followed the generic and target
23specific installation instructions carefully. Then check the
24<a href="faq.html">FAQ</a> to see if your problem is covered before you file
25a bug report.
26
27<p>The installation procedure is broken into four steps.
28
29<ul>
30
31 <li> <a href="configure.html">configure</a>
32 <li> <a href="build.html">build</a>
33 <li> <a href="test.html">test</a> (optional)
34 <li> <a href="finalinstall.html">install</a>
35
36</ul>
37
38<p>Before starting the build/install procedure <b>please</b> browse the
39<a href="specific.html">host/target specific installation notes</a>.
40
41<hr>
42<a href="../index.html">Return to the egcs home page</a>
43</body>
44</html>
45<hr>
46<i>Last modified on December 2, 1997.</i>
47
diff --git a/INSTALL/specific.html b/INSTALL/specific.html
deleted file mode 100644
index 752a564cbd1..00000000000
--- a/INSTALL/specific.html
+++ /dev/null
@@ -1,121 +0,0 @@
1<html>
2<head>
3<title>Host/Target specific installation notes for egcs-1.0 </title>
4</head>
5<body bgcolor="white">
6<h1 align="center">Host/Target specific installation notes for egcs-1.0</h1>
7
8<p><b>alpha*-*-*</b><br>
9No specific installation needs/instructions.
10
11
12<p><b>i?86-*-linux*</b><br>
13You will need binutils-2.8.1.0.15 or newer for exception handling to work.
14
15<p><b>i?86-*-sco3.2v5*</b><br>
16The SCO assembler is currently required. The GNU assembler is not up
17to the task of switching between ELF and COFF at runtime.
18
19<br>Unlike various prereleases of GCC, that used '-belf' and defaulted to
20COFF, you must now use the '-melf' and '-mcoff' flags to toggle between
21the two object file formats. ELF is now the default.
22
23<br>Look in gcc/config/i386/sco5.h (search for "messy") for additional
24OpenServer-specific flags.
25
26<br>Systems based on OpenServer before 5.0.4 (<code>uname -X</code> will
27tell you what you're running) require TLS597 from ftp.sco.com/TLS for
28C++ constructors and destructors to work right.
29
30<p><b>hppa*-hp-hpux*</b><br>
31We <b>highly</b> recommend using gas/binutils-2.8 on all hppa platforms; you
32may encounter a variety of problems when using the HP assembler.
33
34XXX How to make sure gcc finds/uses gas.
35
36<p><b>hppa*-hp-hpux9</b><br>
37The HP assembler has major problems on this platform. We've tried to work
38around the worst of the problems. However, those workarounds may be causing
39linker crashes in some circumstances; the workarounds also probably prevent
40shared libraries from working. Use the GNU assembler to avoid these problems.
41
42<br>The configuration scripts for egcs will also trigger a bug in the hpux9
43shell. To avoid this problem set CONFIG_SHELL to /bin/ksh and SHELL to
44/bin/ksh in your environment.
45
46<p><b>hppa*-hp-hpux10</b><br>
47For hpux10.20, we <b>highly</b> recommend you pick up the latest sed
48patch from HP. HP has two sites which provide patches free of charge.
49
50<br><a href="http://us-support.external.hp.com">US, Canada, Asia-Pacific, and
51Latin-America</a>
52<br><a href="http://europe-support.external.hp.com">Europe</a>
53
54<p>Retrieve patch PHCO_12862.
55
56<p>The HP assembler on these systems is much better than the hpux9 assembler,
57but still has some problems. Most notably the assembler inserts timestamps
58into each object file it creates, causing the 3-stage comparison test to fail
59during a "make bootstrap". You should be able to continue by saying "make all"
60after getting the failure from "make bootstrap".
61
62<p><b>m68k-*-nextstep*</b><br>
63You absolutely must use GNU sed and GNU make on this platform.
64
65<p>If you try to build the integrated C++ & C++ runtime libraries on this system
66you will run into trouble with include files. The way to get around this is
67to use the following sequence. Note you must have write permission to
68<i>prefix</i> for this sequence to work.
69
70<p>cd <i>objdir</i><br>
71make all-texinfo all-bison all-byacc all-binutils all-gas all-ld<br>
72cd gcc<br>
73make bootstrap<br>
74make install-headers-tar<br>
75cd ..<br>
76make bootstrap3<br>
77
78<p><b>m68k-sun-sunos4.1.1</b><br>
79It is reported that you may need the GNU assembler on this platform.
80
81<p><b>mips*-sgi-irix4</b><br>
82<b>mips*-sgi-irix5</b><br>
83You must use GAS on these platforms, the native assembler can not handle the
84code for exception handling support on this platform.
85
86<p>These systems don't have ranlib, which various components in egcs need; you
87should be able to avoid this problem by installing GNU binutils, which includes
88a functional ranlib for this system.
89
90<p>You may get the following warning on irix4 platforms, it can be safely
91ignored.
92<pre>
93 warning: foo.o does not have gp tables for all its sections.
94</pre>
95
96<p><b>mips*-sgi-irix6</b><br>
97You must not use GAS on irix6 platforms; doing so will only cause problems.
98
99<p>These systems don't have ranlib, which various components in egcs need; you
100should be able to avoid this problem by making a dummy script called ranlib
101which just exits with zero status and placing it in your path.
102
103<p><b>rs6000-ibm-aix*</b><br>
104<b>powerpc-ibm-aix*</b><br>
105At least one person as reported problems with older versions of gnu-make on
106this platform. make-3.76 is reported to work correctly.
107
108<p><b>powerpc-*-linux-gnu*</b><br>
109You will need
110<a href="ftp://ftp.yggdrasil.com/private/hjl">binutils-2.8.1.0.17</a> for
111a working egcs. It is strongly recommended to recompile binutils with egcs
112if you initially built it with gcc-2.7.2.*.
113
114<p>
115exception handling
116<p>XXX Linux stuff
117<hr>
118<i>Last modified on December 2, 1997.</i>
119
120</body>
121</html>
diff --git a/INSTALL/test.html b/INSTALL/test.html
deleted file mode 100644
index c77de859229..00000000000
--- a/INSTALL/test.html
+++ /dev/null
@@ -1,37 +0,0 @@
1<html>
2<head>
3<title>Testing egcs-1.0 </title>
4</head>
5<body bgcolor="white">
6<h1 align="center">Testing egcs-1.0</h1>
7
8<p>Before you install egcs, you might wish to run the egcs testsuite; this
9step is optional and may require you to download additional software.
10
11<p>First, you must have downloaded the egcs testsuites; the full distribution
12contains testsuites. If you downloaded the "core" compiler plus any front
13ends, then you do not have the testsuites. You can download the testsuites
14from the same site where you downloaded the core distribution and language
15front ends.
16
17<p>Second, you must have a new version of dejagnu on your system; dejagnu-1.3
18will not work. We have made a
19<a href="ftp://ftp.cygnus.com/pub/egcs/infrastructure/dejagnu-971028.tar.gz">
20dejagnu snapshot</a> available in ftp.cygnus.com:/pub/egcs/infrastructure until
21a new version of dejagnu can be released.
22
23<p>Assuming you've got the testsuites unpacked and have installed an appropriate
24dejagnu, you can run the testsuite with "cd <i>objdir</i>; make -k check".
25This may take a long time. Go get some lunch.
26
27<p>The testing process will try to test as many components in the egcs
28distrubution as possible, including the C, C++ and Fortran compiler as
29well as the C++ runtime libraries.
30
31<p> How to interpret test results XXX.
32
33<hr>
34<i>Last modified on December 2, 1997.</i>
35
36</body>
37</html>