Commit ff752ff6 by Jeffrey A Law Committed by Jeff Law

INSTALL: Rebuilt.

        * INSTALL: Rebuilt.
        * install.texi: Remove "Object File Differences" section.  Remove
        all references to zzz.o failing comparison tests.
        * version.c, version.h: Renamed from zzz.c and zzz.h.  Remove
        date and time stamps so a 3 stage build reports no differences.
        * Make-lang.in: Corresponding changes.
        * Makefile.in: Likewise.
        * g77.c, parse.c: Likewise.
So 3-stage build compares OK.  Rename zzz.[ch] files to version.[ch].

From-SVN: r14824
parent 6042434a
Sun Aug 17 08:35:11 1997 Jeffrey A Law (law@cygnus.com) Sun Aug 17 08:35:11 1997 Jeffrey A Law (law@cygnus.com)
* INSTALL: Rebuilt.
* install.texi: Remove "Object File Differences" section. Remove
all references to zzz.o failing comparison tests.
* version.c, version.h: Renamed from zzz.c and zzz.h. Remove
date and time stamps so a 3 stage build reports no differences.
* Make-lang.in: Corresponding changes.
* Makefile.in: Likewise.
* g77.c, parse.c: Likewise.
* intdoc.texi: Remove generated file from distribution. * intdoc.texi: Remove generated file from distribution.
Fri Aug 15 13:44:14 1997 Jeffrey A Law (law@cygnus.com) Fri Aug 15 13:44:14 1997 Jeffrey A Law (law@cygnus.com)
......
...@@ -207,18 +207,6 @@ their systems had a complete, working one. Unfortunately, this meant ...@@ -207,18 +207,6 @@ their systems had a complete, working one. Unfortunately, this meant
inconveniencing users of systems not having `strtoul()', but they're inconveniencing users of systems not having `strtoul()', but they're
using obsolete (and generally unsupported) systems anyway. using obsolete (and generally unsupported) systems anyway.
Object File Differences
.......................
A comparison of object files after building Stage 3 during a
bootstrap build will result in `gcc/f/zzz.o' being flagged as different
from the Stage 2 version. That is because it contains a string with an
expansion of the `__TIME__' macro, which expands to the current time of
day. It is nothing to worry about, since `gcc/f/zzz.c' doesn't contain
any actual code. It does allow you to override its use of `__DATE__'
and `__TIME__' by defining macros for the compilation--see the source
code for details.
Cleanup Kills Stage Directories Cleanup Kills Stage Directories
............................... ...............................
......
...@@ -108,21 +108,21 @@ F77 f77: f771 f77-runtime ...@@ -108,21 +108,21 @@ F77 f77: f771 f77-runtime
f77.stage4 f77.distdir f77.rebuilt f77.stage4 f77.distdir f77.rebuilt
# Create the compiler driver for g77 (only if `f77' is in LANGUAGES). # Create the compiler driver for g77 (only if `f77' is in LANGUAGES).
g77: $(srcdir)/f/g77.c $(srcdir)/f/zzz.c $(CONFIG_H) $(LIBDEPS) g77: $(srcdir)/f/g77.c $(srcdir)/f/version.c $(CONFIG_H) $(LIBDEPS)
case '$(LANGUAGES)' in \ case '$(LANGUAGES)' in \
*f77*) \ *f77*) \
$(CC) $(ALL_CFLAGS) $(INCLUDES) $(LDFLAGS) \ $(CC) $(ALL_CFLAGS) $(INCLUDES) $(LDFLAGS) \
-o $@ $(srcdir)/f/g77.c $(srcdir)/f/zzz.c $(LIBS) ;; \ -o $@ $(srcdir)/f/g77.c $(srcdir)/f/version.c $(LIBS) ;; \
esac esac
# Create a version of the g77 driver which calls the cross-compiler # Create a version of the g77 driver which calls the cross-compiler
# (only if `f77' is in LANGUAGES). # (only if `f77' is in LANGUAGES).
g77-cross: $(srcdir)/f/g77.c $(srcdir)/f/zzz.c version.o $(LIBDEPS) g77-cross: $(srcdir)/f/g77.c $(srcdir)/f/version.c version.o $(LIBDEPS)
case '$(LANGUAGES)' in \ case '$(LANGUAGES)' in \
*f77*) \ *f77*) \
$(CC) $(ALL_CFLAGS) $(INCLUDES) $(LDFLAGS) \ $(CC) $(ALL_CFLAGS) $(INCLUDES) $(LDFLAGS) \
-DGCC_NAME=\"$(GCC_CROSS_NAME)\" \ -DGCC_NAME=\"$(GCC_CROSS_NAME)\" \
-o $@ $(srcdir)/f/g77.c $(srcdir)/f/zzz.c $(LIBS) ;; \ -o $@ $(srcdir)/f/g77.c $(srcdir)/f/version.c $(LIBS) ;; \
esac esac
F77_SRCS = \ F77_SRCS = \
...@@ -226,8 +226,8 @@ F77_SRCS = \ ...@@ -226,8 +226,8 @@ F77_SRCS = \
$(srcdir)/f/type.h \ $(srcdir)/f/type.h \
$(srcdir)/f/where.c \ $(srcdir)/f/where.c \
$(srcdir)/f/where.h \ $(srcdir)/f/where.h \
$(srcdir)/f/zzz.c \ $(srcdir)/f/version.c \
$(srcdir)/f/zzz.h $(srcdir)/f/version.h
f771: $(P) $(F77_SRCS) $(LIBDEPS) stamp-objlist f/Makefile f771: $(P) $(F77_SRCS) $(LIBDEPS) stamp-objlist f/Makefile
$(MAKE) -f f/Makefile $(FLAGS_TO_PASS) VPATH=$(srcdir) srcdir=$(srcdir) f771 $(MAKE) -f f/Makefile $(FLAGS_TO_PASS) VPATH=$(srcdir) srcdir=$(srcdir) f771
......
...@@ -243,7 +243,7 @@ F77_OBJS = \ ...@@ -243,7 +243,7 @@ F77_OBJS = \
f/top.o \ f/top.o \
f/type.o \ f/type.o \
f/where.o \ f/where.o \
f/zzz.o f/version.o
# Language-independent object files. # Language-independent object files.
OBJS = `cat stamp-objlist | sed -e "s: : :g" -e "s: : f/:g"` OBJS = `cat stamp-objlist | sed -e "s: : :g" -e "s: : f/:g"`
...@@ -374,7 +374,7 @@ f/parse.o: f/parse.c f/proj.h $(ASSERT_H) f/top.h f/malloc.h f/where.h $(GLIMITS ...@@ -374,7 +374,7 @@ f/parse.o: f/parse.c f/proj.h $(ASSERT_H) f/top.h f/malloc.h f/where.h $(GLIMITS
f/com.h f/com-rt.def $(TREE_H) f/bld.h f/bld-op.def f/bit.h f/info.h \ f/com.h f/com-rt.def $(TREE_H) f/bld.h f/bld-op.def f/bit.h f/info.h \
f/info-b.def f/info-k.def f/info-w.def f/target.h f/bad.h f/bad.def f/lex.h \ f/info-b.def f/info-k.def f/info-w.def f/target.h f/bad.h f/bad.def f/lex.h \
f/type.h f/intrin.h f/intrin.def f/lab.h f/symbol.h f/symbol.def f/equiv.h \ f/type.h f/intrin.h f/intrin.def f/lab.h f/symbol.h f/symbol.def f/equiv.h \
f/storag.h f/global.h f/name.h f/zzz.h $(FLAGS_H) f/storag.h f/global.h f/name.h f/version.h $(FLAGS_H)
f/proj.o: f/proj.c f/proj.h $(ASSERT_H) $(GLIMITS_H) f/proj.o: f/proj.c f/proj.h $(ASSERT_H) $(GLIMITS_H)
f/src.o: f/src.c f/proj.h $(ASSERT_H) f/src.h f/bad.h f/bad.def f/where.h \ f/src.o: f/src.c f/proj.h $(ASSERT_H) f/src.h f/bad.h f/bad.def f/where.h \
$(GLIMITS_H) f/top.h f/malloc.h $(GLIMITS_H) f/top.h f/malloc.h
...@@ -467,7 +467,7 @@ f/top.o: f/top.c f/proj.h $(ASSERT_H) f/top.h f/malloc.h f/where.h $(GLIMITS_H) ...@@ -467,7 +467,7 @@ f/top.o: f/top.c f/proj.h $(ASSERT_H) f/top.h f/malloc.h f/where.h $(GLIMITS_H)
f/type.o: f/type.c f/proj.h $(ASSERT_H) f/type.h f/malloc.h f/type.o: f/type.c f/proj.h $(ASSERT_H) f/type.h f/malloc.h
f/where.o: f/where.c f/proj.h $(ASSERT_H) f/where.h $(GLIMITS_H) f/top.h f/malloc.h \ f/where.o: f/where.c f/proj.h $(ASSERT_H) f/where.h $(GLIMITS_H) f/top.h f/malloc.h \
f/lex.h f/lex.h
f/zzz.o: f/zzz.c f/proj.h $(ASSERT_H) f/zzz.h f/version.o: f/version.c f/proj.h $(ASSERT_H) f/version.h
# The rest of this list (Fortran 77 language-specific files) is hand-generated. # The rest of this list (Fortran 77 language-specific files) is hand-generated.
......
...@@ -72,7 +72,7 @@ g77: `f77' language not included in list of languages\n\ ...@@ -72,7 +72,7 @@ g77: `f77' language not included in list of languages\n\
#else /* LANGUAGE_F77 == 1 */ #else /* LANGUAGE_F77 == 1 */
#include "config.j" #include "config.j"
#include "zzz.h" #include "version.h"
#include <sys/types.h> #include <sys/types.h>
#include <errno.h> #include <errno.h>
...@@ -1264,7 +1264,7 @@ main (argc, argv) ...@@ -1264,7 +1264,7 @@ main (argc, argv)
case OPTION_v: case OPTION_v:
if (!verbose) if (!verbose)
fprintf (stderr, "g77 version %s\n", ffezzz_version_string); fprintf (stderr, "g77 version %s\n", ffe_version_string);
verbose = 1; verbose = 1;
break; break;
...@@ -1291,7 +1291,7 @@ You may redistribute copies of GNU Fortran\n\ ...@@ -1291,7 +1291,7 @@ You may redistribute copies of GNU Fortran\n\
under the terms of the GNU General Public License.\n\ under the terms of the GNU General Public License.\n\
For more information about these matters, see the file named COPYING\n\ For more information about these matters, see the file named COPYING\n\
or type the command `info -f g77 Copying'.\n\ or type the command `info -f g77 Copying'.\n\
", ffezzz_version_string); ", ffe_version_string);
exit (0); exit (0);
break; break;
......
...@@ -195,8 +195,6 @@ These problems can occur on most or all systems. ...@@ -195,8 +195,6 @@ These problems can occur on most or all systems.
* Building GNU CC Necessary:: Why you can't build @emph{just} Fortran. * Building GNU CC Necessary:: Why you can't build @emph{just} Fortran.
* Missing strtoul:: If linking @code{f771} fails due to an * Missing strtoul:: If linking @code{f771} fails due to an
unresolved reference to @code{strtoul}. unresolved reference to @code{strtoul}.
* Object File Differences:: It's okay that @samp{make compare} will
flag @file{f/zzz.o}.
* Cleanup Kills Stage Directories:: A minor nit for @code{g77} developers. * Cleanup Kills Stage Directories:: A minor nit for @code{g77} developers.
* Missing gperf?:: When building requires @code{gperf}. * Missing gperf?:: When building requires @code{gperf}.
@end menu @end menu
...@@ -288,26 +286,6 @@ Unfortunately, this meant inconveniencing users of systems not ...@@ -288,26 +286,6 @@ Unfortunately, this meant inconveniencing users of systems not
having @code{strtoul()}, but they're using obsolete (and generally having @code{strtoul()}, but they're using obsolete (and generally
unsupported) systems anyway. unsupported) systems anyway.
@node Object File Differences
@subsubsection Object File Differences
@cindex zzz.o
@cindex zzz.c
@cindex object file, differences
@cindex differences between object files
@cindex make compare
A comparison of object files after building Stage 3 during a
bootstrap build will result in @file{gcc/f/zzz.o} being flagged
as different from the Stage 2 version.
That is because it
contains a string with an expansion of the @code{__TIME__} macro,
which expands to the current time of day.
It is nothing to worry about, since
@file{gcc/f/zzz.c} doesn't contain any actual code.
It does allow you to override its use of @code{__DATE__} and
@code{__TIME__} by defining macros for the compilation---see the
source code for details.
@node Cleanup Kills Stage Directories @node Cleanup Kills Stage Directories
@subsubsection Cleanup Kills Stage Directories @subsubsection Cleanup Kills Stage Directories
@cindex stage directories @cindex stage directories
...@@ -750,11 +728,8 @@ sh[12]# @kbd{make bootstrap} ...@@ -750,11 +728,8 @@ sh[12]# @kbd{make bootstrap}
[This takes a long time, and is where most problems occur.] [This takes a long time, and is where most problems occur.]
@set build-gcc 12 @set build-gcc 12
sh[13]# @kbd{make compare} sh[13]# @kbd{make compare}
[This verifies that the compiler is `sane'. Only [This verifies that the compiler is `sane'.
the file `f/zzz.o' (aka `tmp-foo1' and `tmp-foo2') If any files are printed, you have likely found a g77 bug.]
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.]
@set compare-gcc 13 @set compare-gcc 13
sh[14]# @kbd{rm -fr stage1} sh[14]# @kbd{rm -fr stage1}
@set rm-stage1 14 @set rm-stage1 14
...@@ -894,8 +869,8 @@ information on this step. ...@@ -894,8 +869,8 @@ information on this step.
@item Step @value{compare-gcc}: @kbd{make compare} @item Step @value{compare-gcc}: @kbd{make compare}
@xref{Bug Lists,,Where to Port Bugs}, for information @xref{Bug Lists,,Where to Port Bugs}, for information
on where to report that you observed more than on where to report that you observed files
@file{f/zzz.o} having different contents during this having different contents during this
phase. phase.
@xref{Bug Reporting,,How to Report Bugs}, for @xref{Bug Reporting,,How to Report Bugs}, for
......
...@@ -25,7 +25,7 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA ...@@ -25,7 +25,7 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "top.h" #include "top.h"
#include "com.h" #include "com.h"
#include "where.h" #include "where.h"
#include "zzz.h" #include "version.h"
#if FFECOM_targetCURRENT == FFECOM_targetGCC #if FFECOM_targetCURRENT == FFECOM_targetGCC
#include "flags.j" #include "flags.j"
#endif #endif
...@@ -47,10 +47,7 @@ yyparse () ...@@ -47,10 +47,7 @@ yyparse ()
ffewhereFile wf; ffewhereFile wf;
if (ffe_is_version ()) if (ffe_is_version ())
fprintf (stderr, "GNU Fortran Front End version %s compiled: %s %s\n", fprintf (stderr, "GNU Fortran Front End version %s\n", ffe_version_string);
ffezzz_version_string,
ffezzz_date,
ffezzz_time);
#if FFECOM_targetCURRENT == FFECOM_targetFFE #if FFECOM_targetCURRENT == FFECOM_targetFFE
ffe_init_0 (); ffe_init_0 ();
......
/* zzz.c -- Implementation File (module.c template V1.0) /* version.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). Contributed by James Craig Burley (burley@gnu.ai.mit.edu).
This file is part of GNU Fortran. This file is part of GNU Fortran.
...@@ -29,28 +29,6 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA ...@@ -29,28 +29,6 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
Modifications: Modifications:
*/ */
#include "zzz.h" #include "version.h"
/* If you want to override the version date/time info with your own char *ffe_version_string = "0.5.21-19970811";
macros, e.g. for a consistent distribution when bootstrapping,
go ahead! */
#ifndef FFEZZZ_DATE
#ifdef __DATE__
#define FFEZZZ_DATE __DATE__
#else /* !defined (__DATE__) */
#define FFEZZZ_DATE "date unknown"
#endif /* !defined (__DATE__) */
#endif /* !defined (FFEZZZ_DATE) */
#ifndef FFEZZZ_TIME
#ifdef __TIME__
#define FFEZZZ_TIME __TIME__
#else /* !defined (__TIME__) */
#define FFEZZZ_TIME "time unknown"
#endif /* !defined (__TIME__) */
#endif /* !defined (FFEZZZ_TIME) */
char *ffezzz_version_string = "0.5.21-19970811";
char *ffezzz_date = FFEZZZ_DATE;
char *ffezzz_time = FFEZZZ_TIME;
/* zzz.h -- Public #include File (module.h template V1.0) /* version.h -- Public #include File (module.h 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). Contributed by James Craig Burley (burley@gnu.ai.mit.edu).
This file is part of GNU Fortran. This file is part of GNU Fortran.
...@@ -20,16 +20,14 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA ...@@ -20,16 +20,14 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA. 02111-1307, USA.
Owning Modules: Owning Modules:
zzz.c version.c
Modifications: Modifications:
*/ */
#ifndef _H_f_zzz #ifndef _H_f_version
#define _H_f_zzz #define _H_f_version
extern char *ffezzz_version_string; extern char *ffe_version_string;
extern char *ffezzz_date;
extern char *ffezzz_time;
#endif #endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment