This is the mail archive of the
mailing list for the GCC project.
Re: powerpc-ibm-aix220.127.116.11 bootstrap issue
- To: John Wehle <john at feith dot com>
- Subject: Re: powerpc-ibm-aix18.104.22.168 bootstrap issue
- From: David Edelsohn <dje at watson dot ibm dot com>
- Date: Thu, 04 Oct 2001 22:25:24 -0400
- cc: gcc at gcc dot gnu dot org
I have been unable to cleanly bootstrap GCC on the trunk since the
HOST_WIDE_INT use of "long long" change. The compiler works, but I get
random comparison errors of various files when bootstrapping. I observed
that the resulting code always is correct and works, but stage2 and stage3
sometimes produces code reloading a TOC entry and sometimes copy the value
already in a register.
I tried bootstrapping from scratch with AIX Visual Age C Compiler,
gcc-2.95.3, and gcc-3.0.1. All encountered the similar problems -- not in
the exact same files, but all showed comparison failures. I doubt that
all versions miscompile reload.c.
I thought that it might be caused by an error in a hashtable
lookup or a hash value that depends on an address. It could be something
non-deterministic in reload as well. I and others spent a lot of time
over the summer building GCC with memory checking libraries and could not
find any wild writes that would corrupt something.
This problem does not occur for 32-bit PowerPC which uses "long"
for HOST_WIDE_INT. Maybe it is an error in one of the 32-bit DImode
patterns implementing "long long".
I would appreciate any help in trying to track this down as I am
not having much luck.