This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: AIX bootstrap failure
- From: David Edelsohn <dje at watson dot ibm dot com>
- To: Jerry Quinn <jlquinn at optonline dot net>
- Cc: gcc at gcc dot gnu dot org
- Date: Thu, 30 Sep 2004 21:25:41 -0400
- Subject: Re: AIX bootstrap failure
- References: <1d7181f5f6.1f5f61d718@optonline.net> <200409291536.i8TFagV32066@makai.watson.ibm.com> <415CA7BA.2010406@optonline.net>
>>>>> Jerry Quinn writes:
Jerry> David Edelsohn wrote:
>>>>>>> jlquinn writes:
>>
>>
jlquinn> I updated the tree (no local patches), and reconfigured and bootstrapped mainline. The config is:
jlquinn> ../gcc/configure --prefix=/home/jlquinn/gcc/dev --with-cpu=power4 --with-gcc-version-trigger=/home/jlquinn/gcc/dev/gcc/gcc/version.c --enable-languages=c,c++,java
>>
jlquinn> This is on AIX 5.2 pl 3, using xlc.
>>
jlquinn> Bootstrap comparison failure!
jlquinn> ./fold-const.o differs
>>
>> I bootstrap with GCC, not XLC, and I have been bootstrapping
>> successfully with a few local patches, but nothing that should affect
>> this type of failure.
>>
>> My local patches include a declaration of atoll(), which exists on
>> AIX 5.2 but not AIX 5.1, and the header cache from GCC built on AIX 5.1
>> causes problems. The other patch adds -Wl,-bbigtoc to work around a
>> recently re-introduced TOC overflow, which I am surprised that you did not
>> encounter.
>>
>> The stage1 compiler has been known to cause bootstrap miscompares,
>> but it is very rare.
Jerry> I refreshed today and got the same bootstrap comparison failure again
Jerry> with xlc. Should I file a bug or is bootstrapping from xlc not going to
Jerry> be supported in the future.
You probably should file a bug.
Something seems very strange about your bootstrap because you
should have received a TOC overflow in stage2 and stage3. If you were
able to bootstrap GCC without any change to address that, something more
fundamental is wrong.
Jerry> Since I can't use xlc, I tried pulling down a gcc 3.3.3 binary for aix
Jerry> 5.1. That built the stage 1 compiler but xgcc immediately crashed. Can
Jerry> you point me to a binary that I can use to bootstrap with?
I use GCC to bootstrap mainline. As I mentioned in an earlier
message, if you use an AIX 5.1 GCC, you need to add a declaration of
atoll(). I add it to aix52.h
#ifndef _AIX52
extern long long int atoll(const char *);
#endif
I also add -bbigtoc to the linker flags in t-aix52:
BOOT_LDFLAGS = -Wl,-bbigtoc
David