aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1997-09-14 14:04:23 -0600
committerJeff Law <law@gcc.gnu.org>1997-09-14 14:04:23 -0600
commit34b8e4280d350c177be2de63f73b7d04624caf7d (patch)
treea8b48df2f287176e0a2607c5583cf5978d66f54f
parentddd28aec2d2b01bde4bbb1e9d4526baed21ddf54 (diff)
downloadgcc-34b8e4280d350c177be2de63f73b7d04624caf7d.zip
gcc-34b8e4280d350c177be2de63f73b7d04624caf7d.tar.gz
gcc-34b8e4280d350c177be2de63f73b7d04624caf7d.tar.bz2
Update to official g77-0.5.21.
From-SVN: r15443
-rw-r--r--gcc/f/ChangeLog22
-rw-r--r--gcc/f/INSTALL195
-rw-r--r--gcc/f/Make-lang.in35
-rw-r--r--gcc/f/Makefile.in4
-rw-r--r--gcc/f/bugs.texi35
-rw-r--r--gcc/f/com.c12
-rw-r--r--gcc/f/g77.texi26
-rw-r--r--gcc/f/global.c2
-rw-r--r--gcc/f/install.texi45
-rw-r--r--gcc/f/intdoc.c2
-rw-r--r--gcc/f/intdoc.texi2
-rw-r--r--gcc/f/intrin.h2
-rw-r--r--gcc/f/news.texi32
-rw-r--r--gcc/f/proj.h1
-rw-r--r--gcc/f/runtime/ChangeLog10
-rw-r--r--gcc/f/runtime/Makefile.in2
-rw-r--r--gcc/f/runtime/libI77/Version.c2
-rw-r--r--gcc/f/runtime/libU77/hostnm_.c2
18 files changed, 291 insertions, 140 deletions
diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog
index 0323a8d..a50466e 100644
--- a/gcc/f/ChangeLog
+++ b/gcc/f/ChangeLog
@@ -1,3 +1,25 @@
+Tue Sep 9 01:59:35 1997 Craig Burley <burley@gnu.ai.mit.edu>
+
+ * Version 0.5.21 released.
+
+Tue Sep 9 00:31:01 1997 Craig Burley <burley@gnu.ai.mit.edu>
+
+ * intdoc.c (dumpem): Put appropriate commentary in
+ output file, so readers know it isn't source.
+
+Wed Aug 27 08:08:25 1997 Craig Burley <burley@gnu.ai.mit.edu>
+
+ * proj.h: Always #include "config.j" first, to pick up
+ gcc's configuration.
+ * com.c: Change bcopy() and bzero() calls to memcpy()
+ and memset() calls, to make more of g77 ANSI C.
+
+1997-08-26 Dave Love <d.love@dl.ac.uk>
+
+ * Make-lang.in ($(srcdir)/f/runtime/configure,
+ $(srcdir)/f/runtime/libU77/configure): Fix for when srcdir isn't
+ relative.
+
Tue Aug 26 05:59:21 1997 Craig Burley <burley@gnu.ai.mit.edu>
* ansify.c (main): Make sure readers of stdout know
diff --git a/gcc/f/INSTALL b/gcc/f/INSTALL
index c26e5fb..cccbe95 100644
--- a/gcc/f/INSTALL
+++ b/gcc/f/INSTALL
@@ -38,13 +38,16 @@ follow the `g77' installation instructions:
available--in fact, a complete GNU UNIX system can be put together
on most systems, if desired.
-`gcc-2.7.2.2.tar.gz'
+ The version of GNU `gzip' used to package this release is 1.24.
+ (The version of GNU `tar' used to package this release is 1.11.2.)
+
+`gcc-2.7.2.3.tar.gz'
You need to have this, or some other applicable, version of `gcc'
on your system. The version should be an exact copy of a
- distribution from the FSF. It is approximately 7MB large.
+ distribution from the FSF. Its size is approximately 7.1MB.
- If you've already unpacked `gcc-2.7.2.2.tar.gz' into a directory
- (named `gcc-2.7.2.2') called the "source tree" for `gcc', you can
+ If you've already unpacked `gcc-2.7.2.3.tar.gz' into a directory
+ (named `gcc-2.7.2.3') called the "source tree" for `gcc', you can
delete the distribution itself, but you'll need to remember to
skip any instructions to unpack this distribution.
@@ -52,27 +55,85 @@ follow the `g77' installation instructions:
You can obtain an FSF distribution of `gcc' from the FSF.
`g77-0.5.21.tar.gz'
- You probably have already unpacked this distribution, or you are
- reading an advanced copy of this manual, which is contained in
- this distribution. This distribution approximately 1MB large.
+ You probably have already unpacked this package, or you are
+ reading an advance copy of these installation instructions, which
+ are contained in this distribution. The size of this package is
+ approximately 1.5MB.
You can obtain an FSF distribution of `g77' from the FSF, the same
way you obtained `gcc'.
-100MB disk space
- For a complete "bootstrap" build, about 100MB of disk space is
- required for `g77' by the author's current GNU/Linux system.
-
- Some juggling can reduce the amount of space needed; during the
- bootstrap process, once Stage 3 starts, during which the version
- of `gcc' that has been copied into the `stage2/' directory is used
- to rebuild the system, you can delete the `stage1/' directory to
- free up some space.
-
- It is likely that many systems don't require the complete
- bootstrap build, as they already have a recent version of `gcc'
- installed. Such systems might be able to build `g77' with only
- about 75MB of free space.
+Enough disk space
+ The amount of disk space needed to unpack, build, install, and use
+ `g77' depends on the type of system you're using, how you build
+ `g77', and how much of it you install (primarily, which languages
+ you install).
+
+ The sizes shown below assume all languages distributed in
+ `gcc-2.7.2.3', plus `g77', will be built and installed. These
+ sizes are indicative of GNU/Linux systems on Intel x86 running
+ COFF and on Digital Alpha (AXP) systems running ELF. These should
+ be fairly representative of 32-bit and 64-bit systems,
+ respectively.
+
+ Note that all sizes are approximate and subject to change without
+ notice! They are based on preliminary releases of g77 made shortly
+ before the public beta release.
+
+ -- `gcc' and `g77' distributions occupy 8.6MB packed, 35MB
+ unpacked. These consist of the source code and documentation,
+ plus some derived files (mostly documentation), for `gcc' and
+ `g77'. Any deviations from these numbers for different kinds
+ of systems are likely to be very minor.
+
+ -- A "bootstrap" build requires an additional 67.3MB for a
+ total of 102MB on an ix86, and an additional 98MB for a total
+ of 165MB on an Alpha.
+
+ -- Removing `gcc/stage1' after the build recovers 10.7MB for a
+ total of 91MB on an ix86, and recovers ??MB for a total of
+ ??MB on an Alpha.
+
+ After doing this, the integrity of the build can still be
+ verified via `make compare', and the `gcc' compiler modified
+ and used to build itself for testing fairly quickly, using
+ the copy of the compiler kept in `gcc/stage2'.
+
+ -- Removing `gcc/stage2' after the build further recovers
+ 27.3MB for a total of 64.3MB, and recovers ??MB for a total
+ of ??MB on an Alpha.
+
+ After doing this, the compiler can still be installed,
+ especially if GNU `make' is used to avoid gratuitous rebuilds
+ (or, the installation can be done by hand).
+
+ -- Installing `gcc' and `g77' copies 14.9MB onto the `--prefix'
+ disk for a total of 79.2MB on an ix86, and copies ??MB onto
+ the `--prefix' disk for a total of ??MB on an Alpha.
+
+ After installation, if no further modifications and builds of
+ `gcc' or `g77' are planned, the source and build directory may be
+ removed, leaving the total impact on a system's disk storage as
+ that of the amount copied during installation.
+
+ Systems with the appropriate version of `gcc' installed don't
+ require the complete bootstrap build. Doing a "straight build"
+ requires about as much space as does a bootstrap build followed by
+ removing both the `gcc/stage1' and `gcc/stage2' directories.
+
+ Installing `gcc' and `g77' over existing versions might require
+ less *new* disk space, but note that, unlike many products, `gcc'
+ installs itself in a way that avoids overwriting other installed
+ versions of itself, so that other versions may easily be invoked
+ (via `gcc -V VERSION').
+
+ So, the amount of space saved as a result of having an existing
+ version of `gcc' and `g77' already installed is not
+ much--typically only the command drivers (`gcc', `g77', `g++', and
+ so on, which are small) and the documentation is overwritten by
+ the new installation. The rest of the new installation is done
+ without replacing existing installed versions (assuming they have
+ different version numbers).
`patch'
Although you can do everything `patch' does yourself, by hand,
@@ -84,11 +145,15 @@ follow the `g77' installation instructions:
In any case, you can apply patches by hand--patch files are
designed for humans to read them.
+ The version of GNU `patch' used to develop this release is 2.4.
+
`make'
Your system must have `make', and you will probably save yourself
a lot of trouble if it is GNU `make' (sometimes referred to as
`gmake').
+ The version of GNU `make' used to develop this release is 3.73.
+
`cc'
Your system must have a working C compiler.
@@ -102,6 +167,8 @@ follow the `g77' installation instructions:
distribution. You can obtain `bison' the same way you obtained
`gcc' and `g77'.
+ The version of GNU `bison' used to develop this release is 1.25.
+
*Note Missing bison?::, for information on how to work around not
having `bison'.
@@ -110,12 +177,27 @@ follow the `g77' installation instructions:
need for it. You can obtain `makeinfo' the same way you obtained
`gcc' and `g77'.
+ The version of GNU `makeinfo' used to develop this release is
+ 1.68, from GNU `texinfo' version 3.11.
+
*Note Missing makeinfo?::, for information on getting around the
lack of `makeinfo'.
-`root' access
+`sed'
+ All UNIX systems have `sed', but some have a broken version that
+ cannot handle configuring, building, or installing `gcc' or `g77'.
+
+ The version of GNU `sed' used to develop this release is 2.05.
+ (Note that GNU `sed' version 3.0 was withdrawn by the FSF--if you
+ happen to have this version installed, replace it with version
+ 2.05 immediately. See a GNU distribution site for further
+ explanation.)
+
+`root' access or equivalent
To perform the complete installation procedures on a system, you
- need to have `root' access to that system, or equivalent access.
+ need to have `root' access to that system, or equivalent access to
+ the `--prefix' directory tree specified on the `configure' command
+ line.
Portions of the procedure (such as configuring and building `g77')
can be performed by any user with enough disk space and virtual
@@ -282,7 +364,7 @@ reasons.
* Improvements to the way `libf2c' is built could make building
`g77' as a cross-compiler easier--for example, passing and using
- `LD' and `AR' in the appropriate ways.
+ `$(LD)' and `$(AR)' in the appropriate ways.
* There are still some challenges putting together the right
run-time libraries (needed by `libf2c') for a target system,
@@ -472,7 +554,7 @@ is assumed that the source distributions themselves already reside in
`/usr/FSF', a naming convention used by the author of `g77' on his own
system:
- /usr/FSF/gcc-2.7.2.2.tar.gz
+ /usr/FSF/gcc-2.7.2.3.tar.gz
/usr/FSF/g77-0.5.21.tar.gz
Users of the following systems should not blindly follow these
@@ -496,20 +578,20 @@ of some of the steps. These explanations follow this list of steps.
sh[ 1]# cd /usr/src
- sh[ 2]# gunzip -c < /usr/FSF/gcc-2.7.2.2.tar.gz | tar xf -
+ sh[ 2]# gunzip -c < /usr/FSF/gcc-2.7.2.3.tar.gz | tar xf -
[Might say "Broken pipe"...that is normal on some systems.]
sh[ 3]# gunzip -c < /usr/FSF/g77-0.5.21.tar.gz | tar xf -
["Broken pipe" again possible.]
- sh[ 4]# ln -s gcc-2.7.2.2 gcc
+ sh[ 4]# ln -s gcc-2.7.2.3 gcc
sh[ 5]# ln -s g77-0.5.21 g77
sh[ 6]# mv -i g77/* gcc
[No questions should be asked by mv here; or, you made a mistake.]
- sh[ 7]# patch -p1 -V t -d gcc < gcc/f/gbe/2.7.2.2.diff
+ sh[ 7]# patch -p1 -V t -d gcc < gcc/f/gbe/2.7.2.3.diff
[Unless patch complains about rejected patches, this step worked.]
sh[ 8]# cd gcc
@@ -531,15 +613,22 @@ of some of the steps. These explanations follow this list of steps.
sh[12]# make bootstrap
[This takes a long time, and is where most problems occur.]
- sh[13]# rm -fr stage1
+ sh[13]# make compare
+ [This verifies that the compiler is `sane'. Only
+ the file `f/zzz.o' (aka `tmp-foo1' and `tmp-foo2')
+ should be in the list of object files this command
+ prints as having different contents. If other files
+ are printed, you have likely found a g77 bug.]
- sh[14]# make -k install
+ sh[14]# rm -fr stage1
+
+ sh[15]# make -k install
[The actual installation.]
- sh[15]# g77 -v
+ sh[16]# g77 -v
[Verify that g77 is installed, obtain version info.]
- sh[16]#
+ sh[17]#
*Note Updating Your Info Directory: Updating Documentation, for
information on how to update your system's top-level `info' directory
@@ -562,7 +651,7 @@ Step 3: `gunzip -d < /usr/FSF/g77-0.5.21.tar.gz | tar xf -'
achieve the same result--a source tree containing version 0.5.21
of `g77'.
-Step 4: `ln -s gcc-2.7.2.2 gcc'
+Step 4: `ln -s gcc-2.7.2.3 gcc'
Step 5: `ln -s g77-0.5.21 g77'
These commands mainly help reduce typing, and help reduce visual
@@ -641,10 +730,18 @@ Step 12: `make bootstrap'
*Note Building gcc::, for complete `g77'-specific information on
this step.
-Step 13: `rm -fr stage1'
+Step 13: `make compare'
+ *Note Where to Port Bugs: Bug Lists, for information on where to
+ report that you observed more than `f/zzz.o' having different
+ contents during this phase.
+
+ *Note How to Report Bugs: Bug Reporting, for information on *how*
+ to report bugs like this.
+
+Step 14: `rm -fr stage1'
You don't need to do this, but it frees up disk space.
-Step 14: `make -k install'
+Step 15: `make -k install'
If this doesn't seem to work, try:
make -k install install-libf77 install-f2c-all
@@ -655,7 +752,7 @@ Step 14: `make -k install'
information on entering this manual into your system's list of
texinfo manuals.
-Step 15: `g77 -v'
+Step 16: `g77 -v'
If this command prints approximately 25 lines of output, including
the GNU Fortran Front End version number (which should be the same
as the version number for the version of `g77' you just built and
@@ -723,9 +820,9 @@ generally only the documentation is immediately usable.
A sequence of commands typically used to unpack `gcc' and `g77' is:
sh# cd /usr/src
- sh# gunzip -d < /usr/FSF/gcc-2.7.2.2.tar.gz | tar xf -
- sh# gunzip -d < /usr/FSF/g77-0.5.21.tar.gz | tar xf -
- sh# ln -s gcc-2.7.2.2 gcc
+ sh# gunzip -c /usr/FSF/gcc-2.7.2.3.tar.gz | tar xf -
+ sh# gunzip -c /usr/FSF/g77-0.5.21.tar.gz | tar xf -
+ sh# ln -s gcc-2.7.2.3 gcc
sh# ln -s g77-0.5.21 g77
sh# mv -i g77/* gcc
@@ -745,7 +842,7 @@ and the top level of just the `g77' source tree (prior to issuing the
All three entries should be moved (or copied) into a `gcc' source
tree (typically named after its version number and as it appears in the
-FSF distributions--e.g. `gcc-2.7.2.2').
+FSF distributions--e.g. `gcc-2.7.2.3').
`g77/f' is the subdirectory containing all of the code,
documentation, and other information that is specific to `g77'. The
@@ -1214,43 +1311,43 @@ them when they work:
g77 version 0.5.21
./xgcc -B./ -v -fnull-version -o /tmp/gfa18047 ...
Reading specs from ./specs
- gcc version 2.7.2.2.f.3
+ gcc version 2.7.2.3.f.1
./cpp -lang-c -v -isystem ./include -undef ...
- GNU CPP version 2.7.2.2.f.3 (Linux/Alpha)
+ GNU CPP version 2.7.2.3.f.1 (Linux/Alpha)
#include "..." search starts here:
#include <...> search starts here:
./include
/usr/local/include
/usr/alpha-unknown-linux/include
- /usr/lib/gcc-lib/alpha-unknown-linux/2.7.2.2.f.3/include
+ /usr/lib/gcc-lib/alpha-unknown-linux/2.7.2.3.f.1/include
/usr/include
End of search list.
./f771 /tmp/cca18048.i -fset-g77-defaults -quiet -dumpbase ...
- GNU F77 version 2.7.2.2.f.3 (Linux/Alpha) compiled ...
+ GNU F77 version 2.7.2.3.f.1 (Linux/Alpha) compiled ...
GNU Fortran Front End version 0.5.21 compiled: ...
as -nocpp -o /tmp/cca180481.o /tmp/cca18048.s
ld -G 8 -O1 -o /tmp/gfa18047 /usr/lib/crt0.o -L. ...
__G77_LIBF77_VERSION__: 0.5.21
@(#)LIBF77 VERSION 19970404
__G77_LIBI77_VERSION__: 0.5.21
- @(#) LIBI77 VERSION pjw,dmg-mods 19970527
+ @(#) LIBI77 VERSION pjw,dmg-mods 19970816
__G77_LIBU77_VERSION__: 0.5.21
@(#) LIBU77 VERSION 19970609
sh# ./xgcc -B./ -v -o /tmp/delete-me -xc /dev/null -xnone
Reading specs from ./specs
- gcc version 2.7.2.2.f.3
+ gcc version 2.7.2.3.f.1
./cpp -lang-c -v -isystem ./include -undef ...
- GNU CPP version 2.7.2.2.f.3 (Linux/Alpha)
+ GNU CPP version 2.7.2.3.f.1 (Linux/Alpha)
#include "..." search starts here:
#include <...> search starts here:
./include
/usr/local/include
/usr/alpha-unknown-linux/include
- /usr/lib/gcc-lib/alpha-unknown-linux/2.7.2.2.f.3/include
+ /usr/lib/gcc-lib/alpha-unknown-linux/2.7.2.3.f.1/include
/usr/include
End of search list.
./cc1 /tmp/cca18063.i -quiet -dumpbase null.c -version ...
- GNU C version 2.7.2.2.f.3 (Linux/Alpha) compiled ...
+ GNU C version 2.7.2.3.f.1 (Linux/Alpha) compiled ...
as -nocpp -o /tmp/cca180631.o /tmp/cca18063.s
ld -G 8 -O1 -o /tmp/delete-me /usr/lib/crt0.o -L. ...
/usr/lib/crt0.o: In function `__start':
diff --git a/gcc/f/Make-lang.in b/gcc/f/Make-lang.in
index 813a425..942729b 100644
--- a/gcc/f/Make-lang.in
+++ b/gcc/f/Make-lang.in
@@ -37,6 +37,7 @@
# - define the names for selecting the language in LANGUAGES.
#
# $(srcdir) must be set to the gcc/ source directory (not gcc/f/).
+#
# Extra flags to pass to recursive makes (and to sub-configure).
# Use different quoting rules compared with FLAGS_TO_PASS so we can use
# this to set environment variables as well
@@ -92,6 +93,7 @@ G77_INSTALL_NAME = `t='$(program_transform_name)'; echo g77 | sed $$t`
# Actual names to use when installing a cross-compiler.
F77_CROSS_NAME = `t='$(program_transform_cross_name)'; echo f77 | sed $$t`
G77_CROSS_NAME = `t='$(program_transform_cross_name)'; echo g77 | sed $$t`
+#
# Define the names for selecting f77 in LANGUAGES.
# Note that it would be nice to move the dependency on g77
# into the F77 rule, but that needs a little bit of work
@@ -309,6 +311,7 @@ f/runtime/libU77/Makefile: stmp-f2c.h
# $(srcdir)/config/$(xmake_file) $(srcdir)/config/$(tmake_file)
# top=`pwd`; cd f/f2c; \
# $${top}/f/f2c/configure --srcdir=$${top}/f/f2c
+#
# Build hooks:
# I'm not sure there's a way of getting f2c into here conditionally on
@@ -373,15 +376,10 @@ $(srcdir)/f/NEWS: f/news0.texi f/news.texi
--no-validate news0.texi -o NEWS
$(srcdir)/f/runtime/configure: $(srcdir)/f/runtime/configure.in
- case $(srcdir) in \
- /*) cd f/runtime && $(MAKE) srcdir=$(srcdir)/f/runtime -f $(srcdir)/f/runtime/Makefile.in rebuilt;; \
- *) cd f/runtime && $(MAKE) srcdir=../../$(srcdir)/f/runtime -f ../../$(srcdir)/f/runtime/Makefile.in rebuilt;; \
- esac
+ cd $(srcdir)/f/runtime && $(MAKE) srcdir=. -f Makefile.in rebuilt
$(srcdir)/f/runtime/libU77/configure: $(srcdir)/f/runtime/libU77/configure.in
- case $(srcdir) in \
- /*) cd f/runtime && $(MAKE) srcdir=$(srcdir)/f/runtime -f $(srcdir)/f/runtime/Makefile.in rebuilt;; \
- *) cd f/runtime && $(MAKE) srcdir=../../$(srcdir)/f/runtime -f ../../$(srcdir)/f/runtime/Makefile.in rebuilt;; \
- esac
+ cd $(srcdir)/f/runtime && $(MAKE) srcdir=. -f Makefile.in rebuilt
+
f77.rebuilt: $(srcdir)/f/g77.info $(srcdir)/f/BUGS $(srcdir)/f/INSTALL \
$(srcdir)/f/NEWS $(srcdir)/f/runtime/configure \
$(srcdir)/f/runtime/libU77/configure
@@ -389,6 +387,7 @@ f77.rebuilt: $(srcdir)/f/g77.info $(srcdir)/f/BUGS $(srcdir)/f/INSTALL \
maybe-f2c:
#For now, omit f2c stuff. -- burley
# case "$(STAGESTUFF)" in *f2c*) $(MAKE) f2c;; esac
+#
# Install hooks:
# f771 is installed elsewhere as part of $(COMPILERS).
@@ -511,6 +510,7 @@ f77.uninstall:
rm -rf include/f2c.h ; \
rm -rf $(libdir)/libf2c.a ; \
fi
+#
# Clean hooks:
# A lot of the ancillary files are deleted by the main makefile.
# We just have to delete files specific to us.
@@ -518,19 +518,12 @@ f77.uninstall:
f77.mostlyclean:
-rm -f f/*$(objext)
-rm -f f/fini f/f771 f/stamp-str f/str-*.h f/str-*.j f/intdoc f/ansify f/intdoc.h0
- -case $(srcdir) in \
- /*) cd f/runtime; $(MAKE) -f $(srcdir)/f/runtime/Makefile.in mostlyclean;; \
- *) cd f/runtime; $(MAKE) -f ../../$(srcdir)/f/runtime/Makefile.in mostlyclean;; \
- esac
+ -cd $(srcdir)/f/runtime; $(MAKE) -f Makefile.in mostlyclean
f77.clean:
- -case $(srcdir) in \
- /*) cd f/runtime; $(MAKE) -f $(srcdir)/f/runtime/Makefile.in clean;; \
- *) cd f/runtime; $(MAKE) -f ../../$(srcdir)/f/runtime/Makefile.in clean;; \
+ -cd $(srcdir)/f/runtime; $(MAKE) -f Makefile.in clean;; \
esac
f77.distclean:
- -case $(srcdir) in \
- /*) cd f/runtime; $(MAKE) -f $(srcdir)/f/runtime/Makefile.in distclean;; \
- *) cd f/runtime; $(MAKE) -f ../../$(srcdir)/f/runtime/Makefile.in distclean;; \
+ -cd $(srcdir)/f/runtime; $(MAKE) -f Makefile.in distclean;; \
esac
-rm -f f/Makefile
# like gcc's extraclean, which does clean f/ for us, but not f/gbe,
@@ -549,11 +542,10 @@ f77.extraclean: f77.distclean
-rm -f f/*/*/*lose f/*/*/*.s f/*/*/*.s[0-9] f/*/*/*.i
# realclean is the pre-2.7.0 name for maintainer-clean
f77.maintainer-clean f77.realclean: f77.distclean
- -case $(srcdir) in \
- /*) cd f/runtime; $(MAKE) -f $(srcdir)/f/runtime/Makefile.in maintainer-clean;; \
- *) cd f/runtime; $(MAKE) -f ../../$(srcdir)/f/runtime/Makefile.in maintainer-clean;; \
+ -cd $(srcdir)/f/runtime; $(MAKE) -f Makefile.in maintainer-clean;; \
esac
-rm -f f/g77.info* f/g77.*aux f/TAGS f/BUGS f/INSTALL f/NEWS f/intdoc.texi
+#
# Stage hooks:
# The main makefile has already created stage?/f.
@@ -590,6 +582,7 @@ f77.stage4:
-mv $(LIBF77STAGESTUFF) stage4/f/runtime/libF77
-mv $(LIBI77STAGESTUFF) stage4/f/runtime/libI77
-mv $(LIBU77STAGESTUFF) stage4/f/runtime/libU77
+#
# Maintenance hooks:
# This target creates the files that can be rebuilt, but go in the
diff --git a/gcc/f/Makefile.in b/gcc/f/Makefile.in
index 0979e2b..09b2c1a 100644
--- a/gcc/f/Makefile.in
+++ b/gcc/f/Makefile.in
@@ -136,6 +136,7 @@ all: all.indirect
####host overrides
####cross overrides
####build overrides
+#
# Now figure out from those variables how to compile and link.
all.indirect: f/Makefile f771
@@ -201,6 +202,7 @@ FLAGS_TO_PASS = \
.c.o:
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< -o $@
+#
# Lists of files for various purposes.
# Language-specific object files for g77
@@ -265,6 +267,7 @@ f/Makefile:
Makefile: $(srcdir)/f/Makefile.in $(srcdir)/configure
native: f771
+#
# Compiling object files from source files.
# Note that dependencies on obstack.h are not written
@@ -543,6 +546,7 @@ deps-kinda:
-e 's: \([.]/\)*f/str[.]h: f/stamp-str:g' \
-e 's%^\(.*\)[ ]*: %f/\1: %g'
+#
# These exist for maintenance purposes.
# Update the tags table.
diff --git a/gcc/f/bugs.texi b/gcc/f/bugs.texi
index 28a18bd..f6ad480 100644
--- a/gcc/f/bugs.texi
+++ b/gcc/f/bugs.texi
@@ -5,7 +5,7 @@
@c The text of this file appears in the file BUGS
@c in the G77 distribution, as well as in the G77 manual.
-@c 1996-08-19
+@c 1996-09-09
@ifclear BUGSONLY
@node Actual Bugs
@@ -25,21 +25,8 @@ configure, port, build, and install @code{g77},
@ref{Problems Installing}.
@itemize @bullet
-@cindex DNRM2 miscompiled
-@item
-An old version of the BLAS function @code{DNRM2} is miscompiled
-on ix86 machines when @samp{-O2} (or higher, probably) is
-used.
-The bug is in the @code{gcc} back end, as proven using
-a C translation of a simplified version of @code{DRNM2}
-that illustrates the bug.
-(The code in @file{gcc/reg-stack.c} fails to recognize that,
-after an initial load of @samp{XMAX}, a subsequent load
-must be preceded by a stack pop, or @samp{fstp %st(0)} in
-assembler, to avoid ultimately overflowing the floating-point
-stack.)
-
@cindex Alpha
+@cindex -O2
@item
@code{g77}'s version of @code{gcc}, and probably @code{g77}
itself, cannot be reliably used with the @samp{-O2} option
@@ -53,6 +40,24 @@ in this case, @samp{R} might be initialized to @samp{4.0}.
Until this bug is fixed, use only @samp{-O1} or no optimization.
+@cindex DNRM2
+@cindex stack, 387 coprocessor
+@cindex ix86
+@cindex -O2
+@item
+A code-generation bug afflicts
+Intel x86 targets when @samp{-O2} is specified
+compiling, for example, an old version of
+the @samp{DNRM2} routine.
+The x87 coprocessor stack is being somewhat
+mismanaged in cases where assigned @code{GOTO}
+and @code{ASSIGN} are involved.
+
+Version 0.5.21 of @code{g77} contains an initial
+effort to fix the problem, but this effort is
+incomplete, and a more complete fix is planned
+for the next release.
+
@cindex SIGNAL() intrinsic
@cindex intrinsics, SIGNAL()
@item
diff --git a/gcc/f/com.c b/gcc/f/com.c
index a797e05..832779c 100644
--- a/gcc/f/com.c
+++ b/gcc/f/com.c
@@ -13874,9 +13874,9 @@ duplicate_decls (tree newdecl, tree olddecl)
{
register unsigned olddecl_uid = DECL_UID (olddecl);
- bcopy ((char *) newdecl + sizeof (struct tree_common),
- (char *) olddecl + sizeof (struct tree_common),
- sizeof (struct tree_decl) - sizeof (struct tree_common));
+ memcpy ((char *) olddecl + sizeof (struct tree_common),
+ (char *) newdecl + sizeof (struct tree_common),
+ sizeof (struct tree_decl) - sizeof (struct tree_common));
DECL_UID (olddecl) = olddecl_uid;
}
@@ -15744,7 +15744,7 @@ open_include_file (filename, searchptr)
else
{
dir = (char *) xmalloc (p - filename + 1);
- bcopy (filename, dir, p - filename);
+ memcpy (dir, filename, p - filename);
dir[p - filename] = '\0';
from = p + 1;
map = read_name_map (dir);
@@ -15958,7 +15958,7 @@ ffecom_file_ (char *name)
early #line directives (when -g is in effect). */
fp = &instack[++indepth];
- bzero ((char *) fp, sizeof (FILE_BUF));
+ memset ((char *) fp, 0, sizeof (FILE_BUF));
if (name == NULL)
name = "";
fp->nominal_fname = fp->fname = name;
@@ -16218,7 +16218,7 @@ ffecom_open_include_ (char *name, ffewhereLine l, ffewhereColumn c)
instack[indepth].column = ffewhere_column_use (c);
fp = &instack[indepth + 1];
- bzero ((char *) fp, sizeof (FILE_BUF));
+ memset ((char *) fp, 0, sizeof (FILE_BUF));
fp->nominal_fname = fp->fname = fname;
fp->dir = searchptr;
diff --git a/gcc/f/g77.texi b/gcc/f/g77.texi
index 97c966a..d87340d 100644
--- a/gcc/f/g77.texi
+++ b/gcc/f/g77.texi
@@ -102,7 +102,7 @@ was contributed to Craig by David Ronis (@email{ronis@@onsager.chem.mcgill.ca}).
@sp 2
@center James Craig Burley
@sp 3
-@center Last updated 1997-08-24
+@center Last updated 1997-09-09
@sp 1
@c The version number appears some more times in this file.
@@ -3251,7 +3251,7 @@ users use @code{g77}.
such changes to @code{g77}.
To find out about existing bugs and ongoing plans for GNU
-Fortran, retrieve @url{ftp://alpha.gnu.ai.mit.edu/g77.plan}
+Fortran, retrieve @uref{ftp://alpha.gnu.ai.mit.edu/g77.plan}
or, if you cannot do that, email
@email{fortran@@gnu.ai.mit.edu} asking for a recent copy of the
GNU Fortran @file{.plan} file.
@@ -3699,8 +3699,8 @@ way through the compilation process instead of being lost.
GNU Fortran supports a variety of extensions to, and dialects
of, the Fortran language.
Its primary base is the ANSI FORTRAN 77 standard, currently available on
-the network at @url{http://kumo.swcp.com/fortran/F77_std/f77_std.html}
-or in @url{ftp://ftp.ast.cam.ac.uk/pub/michael/}.
+the network at @uref{http://kumo.swcp.com/fortran/F77_std/f77_std.html}
+or in @uref{ftp://ftp.ast.cam.ac.uk/pub/michael/}.
It offers some extensions that are popular among users
of UNIX @code{f77} and @code{f2c} compilers, some that
are popular among users of other compilers (such as Digital
@@ -3711,7 +3711,7 @@ by GNU Fortran.
@cindex textbooks
(If you need a text on Fortran,
a few freely available electronic references have pointers from
-@url{http://www.fortran.com/fortran/Books/}.)
+@uref{http://www.fortran.com/fortran/Books/}.)
Part of what defines a particular implementation of a Fortran
system, such as @code{g77}, is the particular characteristics
@@ -7867,7 +7867,7 @@ options @code{g77} passes by running @samp{g77 -v}.
@cindex cfortran.h
@cindex Netlib
Even if you don't actually use it as a compiler, @samp{f2c} from
-@url{ftp://ftp.netlib.org/f2c/src}, can be a useful tool when you're
+@uref{ftp://ftp.netlib.org/f2c/src}, can be a useful tool when you're
interfacing (linking) Fortran and C@.
@xref{f2c Skeletons and Prototypes,,Generating Skeletons and Prototypes with @code{f2c}}.
@@ -7877,7 +7877,7 @@ build the @file{src} directory from the distribution, consult the
@code{f2c} program on your path.
Something else that might be useful is @samp{cfortran.h} from
-@url{ftp://zebra/desy.de/cfortran}.
+@uref{ftp://zebra/desy.de/cfortran}.
This is a fairly general tool which
can be used to generate interfaces for calling in both directions
between Fortran and C@.
@@ -7921,8 +7921,8 @@ the return type of a @code{REAL} @code{FUNCTION}.)
@samp{-P} option to generate C prototypes appropriate for calling the
Fortran.@footnote{The files generated like this can also be used for
inter-unit consistency checking of dummy and actual arguments, although
-the @samp{ftnchek} tool from @url{ftp://ftp.netlib.org/fortran}
-or @url{ftp://ftp.dsm.fordham.edu} is
+the @samp{ftnchek} tool from @uref{ftp://ftp.netlib.org/fortran}
+or @uref{ftp://ftp.dsm.fordham.edu} is
probably better for this purpose.}
If the Fortran code containing any
routines to be called from C is in file @file{joe.f}, use the command
@@ -10164,7 +10164,7 @@ or installing @code{g77} is not provided here.
To find out about major bugs discovered in the current release and
possible workarounds for them, retrieve
-@url{ftp://alpha.gnu.ai.mit.edu/g77.plan}.
+@uref{ftp://alpha.gnu.ai.mit.edu/g77.plan}.
(Note that some of this portion of the manual is lifted
directly from the @code{gcc} manual, with minor modifications
@@ -10270,7 +10270,7 @@ How to cope with such problems is well beyond the scope
of this manual.
However, users of Linux-based systems (such as GNU/Linux)
-should review @url{http://www.bitwizard.nl/sig11}, a source
+should review @uref{http://www.bitwizard.nl/sig11}, a source
of detailed information on diagnosing hardware problems,
by recognizing their common symptoms.
@@ -12272,8 +12272,8 @@ their use into selective changes in your own code.
@pindex ftncheck
Validate your code with @code{ftnchek} or a similar code-checking
tool.
-@code{ftncheck} can be found at @url{ftp://ftp.netlib.org/fortran}
-or @url{ftp://ftp.dsm.fordham.edu}.
+@code{ftncheck} can be found at @uref{ftp://ftp.netlib.org/fortran}
+or @uref{ftp://ftp.dsm.fordham.edu}.
@item
Try your code out using other Fortran compilers, such as @code{f2c}.
diff --git a/gcc/f/global.c b/gcc/f/global.c
index 237f06e..a0a9d5e 100644
--- a/gcc/f/global.c
+++ b/gcc/f/global.c
@@ -1,5 +1,5 @@
/* global.c -- Implementation File (module.c template V1.0)
- Copyright (C) 1995 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1997 Free Software Foundation, Inc.
Contributed by James Craig Burley (burley@gnu.ai.mit.edu).
This file is part of GNU Fortran.
diff --git a/gcc/f/install.texi b/gcc/f/install.texi
index 26c479e..acee44a 100644
--- a/gcc/f/install.texi
+++ b/gcc/f/install.texi
@@ -5,7 +5,7 @@
@c The text of this file appears in the file INSTALL
@c in the G77 distribution, as well as in the G77 manual.
-@c 1997-08-17
+@c 1997-09-09
@ifclear INSTALLONLY
@node Installation
@@ -61,20 +61,21 @@ There are GNU versions of all these available---in fact,
a complete GNU UNIX system can be put together on
most systems, if desired.
+=======
The version of GNU @code{gzip} used to package this release
is 1.24.
(The version of GNU @code{tar} used to package this release
is 1.11.2.)
-@item @file{gcc-2.7.2.2.tar.gz}
+@item @file{gcc-2.7.2.3.tar.gz}
You need to have this, or some other applicable, version
of @code{gcc} on your system.
The version should be an exact copy of a distribution
from the FSF.
Its size is approximately 7.1MB.
-If you've already unpacked @file{gcc-2.7.2.2.tar.gz} into a
-directory (named @file{gcc-2.7.2.2}) called the @dfn{source tree}
+If you've already unpacked @file{gcc-2.7.2.3.tar.gz} into a
+directory (named @file{gcc-2.7.2.3}) called the @dfn{source tree}
for @code{gcc}, you can delete the distribution
itself, but you'll need to remember to skip any instructions to unpack
this distribution.
@@ -99,7 +100,7 @@ using, how you build @code{g77}, and how much of it you
install (primarily, which languages you install).
The sizes shown below assume all languages distributed
-in @code{gcc-2.7.2.2}, plus @code{g77}, will be built
+in @code{gcc-2.7.2.3}, plus @code{g77}, will be built
and installed.
These sizes are indicative of GNU/Linux systems on
Intel x86 running COFF and on Digital Alpha (AXP) systems
@@ -759,7 +760,7 @@ already reside in @file{/usr/FSF}, a naming convention
used by the author of @code{g77} on his own system:
@example
-/usr/FSF/gcc-2.7.2.2.tar.gz
+/usr/FSF/gcc-2.7.2.3.tar.gz
/usr/FSF/g77-0.5.21.tar.gz
@end example
@@ -801,20 +802,20 @@ These explanations follow this list of steps.
@example
sh[ 1]# @kbd{cd /usr/src}
@set source-dir 1
-sh[ 2]# @kbd{gunzip -c < /usr/FSF/gcc-2.7.2.2.tar.gz | tar xf -}
+sh[ 2]# @kbd{gunzip -c < /usr/FSF/gcc-2.7.2.3.tar.gz | tar xf -}
[Might say "Broken pipe"...that is normal on some systems.]
@set unpack-gcc 2
sh[ 3]# @kbd{gunzip -c < /usr/FSF/g77-0.5.21.tar.gz | tar xf -}
["Broken pipe" again possible.]
@set unpack-g77 3
-sh[ 4]# @kbd{ln -s gcc-2.7.2.2 gcc}
+sh[ 4]# @kbd{ln -s gcc-2.7.2.3 gcc}
@set link-gcc 4
sh[ 5]# @kbd{ln -s g77-0.5.21 g77}
@set link-g77 5
sh[ 6]# @kbd{mv -i g77/* gcc}
[No questions should be asked by mv here; or, you made a mistake.]
@set merge-g77 6
-sh[ 7]# @kbd{patch -p1 -V t -d gcc < gcc/f/gbe/2.7.2.2.diff}
+sh[ 7]# @kbd{patch -p1 -V t -d gcc < gcc/f/gbe/2.7.2.3.diff}
[Unless patch complains about rejected patches, this step worked.]
@set apply-patch 7
sh[ 8]# @kbd{cd gcc}
@@ -882,7 +883,7 @@ version of @code{g77}, and then apply the appropriate patches
to achieve the same result---a source tree containing version
0.5.21 of @code{g77}.
-@item Step @value{link-gcc}: @kbd{ln -s gcc-2.7.2.2 gcc}
+@item Step @value{link-gcc}: @kbd{ln -s gcc-2.7.2.3 gcc}
@item Step @value{link-g77}: @kbd{ln -s g77-0.5.21 g77}
These commands mainly help reduce typing,
and help reduce visual clutter in examples
@@ -1105,9 +1106,9 @@ and @code{g77} is:
@example
sh# @kbd{cd /usr/src}
-sh# @kbd{gunzip -c /usr/FSF/gcc-2.7.2.2.tar.gz | tar xf -}
+sh# @kbd{gunzip -c /usr/FSF/gcc-2.7.2.3.tar.gz | tar xf -}
sh# @kbd{gunzip -c /usr/FSF/g77-0.5.21.tar.gz | tar xf -}
-sh# @kbd{ln -s gcc-2.7.2.2 gcc}
+sh# @kbd{ln -s gcc-2.7.2.3 gcc}
sh# @kbd{ln -s g77-0.5.21 g77}
sh# @kbd{mv -i g77/* gcc}
@end example
@@ -1133,7 +1134,7 @@ g77/f
All three entries should be moved (or copied) into a @code{gcc}
source tree (typically named after its version number and
-as it appears in the FSF distributions---e.g. @file{gcc-2.7.2.2}).
+as it appears in the FSF distributions---e.g. @file{gcc-2.7.2.3}).
@file{g77/f} is the subdirectory containing all of the
code, documentation, and other information that is specific
@@ -1749,43 +1750,43 @@ sh# @kbd{./g77 --driver=./xgcc -B./ -v}
g77 version 0.5.21
./xgcc -B./ -v -fnull-version -o /tmp/gfa18047 @dots{}
Reading specs from ./specs
-gcc version 2.7.2.2.f.3
+gcc version 2.7.2.3.f.1
./cpp -lang-c -v -isystem ./include -undef @dots{}
-GNU CPP version 2.7.2.2.f.3 (Linux/Alpha)
+GNU CPP version 2.7.2.3.f.1 (Linux/Alpha)
#include "..." search starts here:
#include <...> search starts here:
./include
/usr/local/include
/usr/alpha-unknown-linux/include
- /usr/lib/gcc-lib/alpha-unknown-linux/2.7.2.2.f.3/include
+ /usr/lib/gcc-lib/alpha-unknown-linux/2.7.2.3.f.1/include
/usr/include
End of search list.
./f771 /tmp/cca18048.i -fset-g77-defaults -quiet -dumpbase @dots{}
-GNU F77 version 2.7.2.2.f.3 (Linux/Alpha) compiled @dots{}
+GNU F77 version 2.7.2.3.f.1 (Linux/Alpha) compiled @dots{}
GNU Fortran Front End version 0.5.21 compiled: @dots{}
as -nocpp -o /tmp/cca180481.o /tmp/cca18048.s
ld -G 8 -O1 -o /tmp/gfa18047 /usr/lib/crt0.o -L. @dots{}
__G77_LIBF77_VERSION__: 0.5.21
@@(#)LIBF77 VERSION 19970404
__G77_LIBI77_VERSION__: 0.5.21
-@@(#) LIBI77 VERSION pjw,dmg-mods 19970527
+@@(#) LIBI77 VERSION pjw,dmg-mods 19970816
__G77_LIBU77_VERSION__: 0.5.21
@@(#) LIBU77 VERSION 19970609
sh# @kbd{./xgcc -B./ -v -o /tmp/delete-me -xc /dev/null -xnone}
Reading specs from ./specs
-gcc version 2.7.2.2.f.3
+gcc version 2.7.2.3.f.1
./cpp -lang-c -v -isystem ./include -undef @dots{}
-GNU CPP version 2.7.2.2.f.3 (Linux/Alpha)
+GNU CPP version 2.7.2.3.f.1 (Linux/Alpha)
#include "..." search starts here:
#include <...> search starts here:
./include
/usr/local/include
/usr/alpha-unknown-linux/include
- /usr/lib/gcc-lib/alpha-unknown-linux/2.7.2.2.f.3/include
+ /usr/lib/gcc-lib/alpha-unknown-linux/2.7.2.3.f.1/include
/usr/include
End of search list.
./cc1 /tmp/cca18063.i -quiet -dumpbase null.c -version @dots{}
-GNU C version 2.7.2.2.f.3 (Linux/Alpha) compiled @dots{}
+GNU C version 2.7.2.3.f.1 (Linux/Alpha) compiled @dots{}
as -nocpp -o /tmp/cca180631.o /tmp/cca18063.s
ld -G 8 -O1 -o /tmp/delete-me /usr/lib/crt0.o -L. @dots{}
/usr/lib/crt0.o: In function `__start':
diff --git a/gcc/f/intdoc.c b/gcc/f/intdoc.c
index f957039..a302a7b 100644
--- a/gcc/f/intdoc.c
+++ b/gcc/f/intdoc.c
@@ -282,6 +282,8 @@ dumpem ()
summaries[cc_summaries[i].imp] = cc_summaries[i].text;
}
+ printf ("@c This file is automatically derived from intdoc.c, intdoc.in,\n");
+ printf ("@c ansify.c, intrin.def, and intrin.h. Edit those files instead.\n");
printf ("@menu\n");
for (i = 0; ((size_t) i) < ARRAY_SIZE (names); ++i)
{
diff --git a/gcc/f/intdoc.texi b/gcc/f/intdoc.texi
index 480425e..c0093d1 100644
--- a/gcc/f/intdoc.texi
+++ b/gcc/f/intdoc.texi
@@ -1,3 +1,5 @@
+@c This file is automatically derived from intdoc.c, intdoc.in,
+@c ansify.c, intrin.def, and intrin.h. Edit those files instead.
@menu
@ifset familyF2U
* Abort Intrinsic:: Abort the program.
diff --git a/gcc/f/intrin.h b/gcc/f/intrin.h
index 3e370f0..fccef06 100644
--- a/gcc/f/intrin.h
+++ b/gcc/f/intrin.h
@@ -1,5 +1,5 @@
/* intrin.h -- Public interface for intrin.c
- Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+ Copyright (C) 1995-1997 Free Software Foundation, Inc.
Contributed by James Craig Burley (burley@gnu.ai.mit.edu).
This file is part of GNU Fortran.
diff --git a/gcc/f/news.texi b/gcc/f/news.texi
index 3257025..b9f0142 100644
--- a/gcc/f/news.texi
+++ b/gcc/f/news.texi
@@ -5,7 +5,7 @@
@c The text of this file appears in the file BUGS
@c in the G77 distribution, as well as in the G77 manual.
-@c 1997-08-25
+@c 1997-09-09
@ifclear NEWSONLY
@node News
@@ -152,6 +152,13 @@ of arguments exist.
This avoids a compiler crash.
@item
+Fix parsing bug whereby @code{g77} rejected a
+second initialization specification immediately
+following the first's closing @samp{/} without
+an intervening comma in a @code{DATA} statement,
+and the second specification was an implied-DO list.
+
+@item
Improve performance of the @code{gcc} back end so
certain complicated expressions involving @code{COMPLEX}
arithmetic (especially multiplication) don't appear to
@@ -164,12 +171,13 @@ back end.
@item
Integrate GNU Ada's (GNAT's) changes to the back end,
which consist almost entirely of bug fixes.
+These fixes are circa version 3.10p of GNAT.
@item
Include some other @code{gcc} fixes that seem useful in
@code{g77}'s version of @code{gcc}.
(See @file{gcc/ChangeLog} for details---compare it
-to that file in the vanilla @code{gcc-2.7.2.2.tar.gz}
+to that file in the vanilla @code{gcc-2.7.2.3.tar.gz}
distribution.)
@item
@@ -224,15 +232,25 @@ during the assembler or linker phase, a compiler
crash, or generation of incorrect code.
@item
-Improve alias analysis code to properly handle
-output registers (such as the @samp{%o} registers
-on the SPARC).
+Make some fixes to alias analysis code.
@item
Add support for @code{restrict} keyword in @code{gcc}
front end.
@item
+Support @code{gcc} version 2.7.2.3
+(modified by @code{g77} into version 2.7.2.3.f.1),
+and remove
+support for prior versions of @code{gcc}.
+
+@item
+Incorporate GNAT's patches to the @code{gcc} back
+end into @code{g77}'s, so GNAT users do not need
+to apply GNAT's patches to build both GNAT and @code{g77}
+from the same source tree.
+
+@item
Modify @code{make} rules and related code so that
generation of Info documentation doesn't require
compilation using @code{gcc}.
@@ -269,10 +287,6 @@ Fix @code{libf2c} build procedure to re-archive library
if previous attempt to archive was interrupted.
@item
-Fix @code{gcc} to more easily support configuring on
-Pentium Pro (686) systems.
-
-@item
Change @code{gcc} to unroll loops only during the last
invocation (of as many as two invocations) of loop
optimization.
diff --git a/gcc/f/proj.h b/gcc/f/proj.h
index 2f0366c..30c0edb 100644
--- a/gcc/f/proj.h
+++ b/gcc/f/proj.h
@@ -64,6 +64,7 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
/* Include files everyone gets. */
+#include "config.j" /* Must come before any other #includes in gcc. */
#include "assert.j" /* Use gcc's assert.h. */
#include <stdio.h>
#include <stddef.h>
diff --git a/gcc/f/runtime/ChangeLog b/gcc/f/runtime/ChangeLog
index abb075d..57b175e 100644
--- a/gcc/f/runtime/ChangeLog
+++ b/gcc/f/runtime/ChangeLog
@@ -1,3 +1,13 @@
+Tue Sep 9 00:33:24 1997 Craig Burley <burley@gnu.ai.mit.edu>
+
+ * Version 0.5.21 released.
+
+Mon Sep 8 19:39:01 1997 Craig Burley <burley@gnu.ai.mit.edu>
+
+ * libI77/close.c (f_exit): Fix thinko, inverted test
+ of whether initialization done, so exiting now closes
+ open units again.
+
Tue Aug 26 01:42:21 1997 Craig Burley <burley@gnu.ai.mit.edu>
From Jim Wilson:
diff --git a/gcc/f/runtime/Makefile.in b/gcc/f/runtime/Makefile.in
index 5e019e5..e4e8d54 100644
--- a/gcc/f/runtime/Makefile.in
+++ b/gcc/f/runtime/Makefile.in
@@ -174,7 +174,7 @@ all: ../../include/f2c.h $(lib)
$(lib): stamp-lib ; @true
stamp-lib: stamp-libf77 stamp-libi77 stamp-libu77
rm -f stamp-lib
- $(AR) $(AR_FLAGS) $(lib) $(FOBJ) $(IOBJ) $(UOBJ)
+ $(AR) $(AR_FLAGS) $(lib) $?
rm -fr libE77
mkdir libE77
for name in $(F2CEXT); \
diff --git a/gcc/f/runtime/libI77/Version.c b/gcc/f/runtime/libI77/Version.c
index 31d0e8b..cbb63c9 100644
--- a/gcc/f/runtime/libI77/Version.c
+++ b/gcc/f/runtime/libI77/Version.c
@@ -3,7 +3,7 @@ static char junk[] = "\n@(#) LIBI77 VERSION pjw,dmg-mods 19970816\n";
/*
*/
-char __G77_LIBI77_VERSION__[] = "0.5.21-19970811";
+char __G77_LIBI77_VERSION__[] = "0.5.21";
/*
2.01 $ format added
diff --git a/gcc/f/runtime/libU77/hostnm_.c b/gcc/f/runtime/libU77/hostnm_.c
index a0e5dbf..8229e09 100644
--- a/gcc/f/runtime/libU77/hostnm_.c
+++ b/gcc/f/runtime/libU77/hostnm_.c
@@ -27,7 +27,7 @@ Boston, MA 02111-1307, USA. */
#if HAVE_UNISTD_H
# include <unistd.h>
#endif
-#include <errno.h>
+#include <errno.h> /* for ENOSYS */
#include "f2c.h"
integer G77_hostnm_0 (char *name, ftnlen Lname)