This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

At last: the bool problem seems to be due to omitted dependency from make check*


I have been trying to solve this problem for 18 months...

If you do the following steps

1. bootstrap.
2. Do not do make install, and do not have the install directory in your path.
3. Amend toplev.c or Makefile.in.
4. make check.

the make check will force recompilation of several modules using the standard
(host/bootstrap) cc, not the just built gcc. 

This has a number of untoward effects:

File toplev.c gets recompiled with a different size definition of bool than
diagnostic.c got during the bootstrap (on gnu/linux 2.4 anyway). This creates
a misalignment in the error diagnostics struct, as a result of which, warnings
result in an error exit when the resulting compiler is used. Sometimes, GCC
gets used for things other than building GCC.

The bootstrap compiler may not be able to run the compile for various reasons,
such as unsupported options. 

I'm not sure what the solution is. The install.texi documentation suggests
that testing should be done before installation, so I assume that I am not
expected to have installed GCC before a make check. This is consistent with
the checks themselves which seem to use the './xgcc' compiler from the build.

My suggestion would be to make the check* dependent on quickstrap, to force a
proper recompilation.

Tim Josling


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]