AIX bootstrap failure

David Edelsohn dje@watson.ibm.com
Fri Oct 1 01:25:00 GMT 2004


>>>>> 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



More information about the Gcc mailing list