[tree-ssa][unit-at-a-time] bootstrap

Daniel Berlin dberlin@dberlin.org
Thu Aug 21 17:06:00 GMT 2003


On Thursday, August 21, 2003, at 9:37 AM, Andrew Pinski wrote:

> I think this is a bad interaction between the inter-modular  
> optimization, unit-at-a-time and the tree-ssa
> stuff but I do not know what is going on as I cannot even bootstrap  
> any more on the tree-ssa branch on powerpc-apple-darwin6.6.

I can't either, but if you remove the abort in fold-const (I assume you  
are seeing the abort when compiling gimplify.c trying to invert a  
truthop), it seems to work again.

>
> Thanks,
> Andrew Pinski
>
>
> On Thursday, Aug 21, 2003, at 00:07 US/Eastern, JUDD JENNE wrote:
>
>>
>> I get the following error during a bootstrap on SSA after the merge.
>>
>> Please note the BOOT_CFLAGS setting includes -funit-at-a-time.
>>
>> Over the weekend, I observed comparison failures during bootstrap,  
>> however I
>> wanted to wait until the merge picked up recent changes to the  
>> unit-at-a-time
>> machinery before mentioning anything. (This same process passed  
>> bootstrap on mainline both tonight and
>> during the weekend.)
>>
>> My impression of the error below is that the listed function is being  
>> inlined
>> into "main" and the two variables are being lost or confused in the  
>> process.
>>
>> I don't believe I used "-g" when I first ran the bootstrap.  Also,  
>> the issue
>> may not require c++ & objc, though I do not know.
>>
>> Here are some relevant pieces:
>>
>> Machine: Gentoo-Linux Distribution ~v1.4 on athlon-xp
>> gcc version 3.2.3 20030422 (Gentoo Linux 1.4 3.2.3-r1, propolice)
>> GNU ld version 2.14.90.0.2 20030515
>>
>> Configure and build lines:
>>
>> /full/path1/configure --prefix=/full/path2/bin-ssa
>> --enable-languages=c,c++,objc --disable-libgcj --enable-checking
>>
>> make BOOT_CFLAGS='-O2 -g -funit-at-a-time' bootstrap 2>&1 | tee  
>> ssa.log
>>
>> Fragment of function in main:
>>
>> record_insn_name (insn_code_number, XSTR (desc, 0));
>>
>> The first few lines of the associated function:
>>
>> static void
>> record_insn_name (int code, const char *name)
>> {
>>   static const char *last_real_name = "insn";
>>   static int last_real_code = 0;
>>   char *new;
>> ...
>>
>> Notice last_real_name and last_real_code?
>>
>> Location of Failure (last portion of ssa.log):
>>
>> stage1/xgcc -Bstage1/  
>> -B/home/judd/gcc-dev/bin-ssa/i686-pc-linux-gnu/bin/   -O2 -g  
>> -funit-at-a-time -DIN_GCC   -W -Wall -Wwrite-strings  
>> -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long  
>> -Werror -fno-common   -DHAVE_CONFIG_H -DGENERATOR_FILE  -o genextract  
>> > \
>>  genextract.o rtl.o read-rtl.o bitmap.o ggc-none.o gensupport.o  
>> insn-conditions.o print-rtl1.o \
>>     errors.o ../libiberty/libiberty.a
>> genextract.o(.text+0x824): In function `main':
>> /home/judd/gcc-dev/gcc-ssa/gcc/genextract.c:519: undefined reference  
>> to `last_real_name.0'
>> genextract.o(.text+0x83f):/home/judd/gcc-dev/gcc-ssa/gcc/ 
>> genextract.c:520: undefined reference to `last_real_code.1'
>> genextract.o(.text+0x84d):/home/judd/gcc-dev/gcc-ssa/gcc/ 
>> genextract.c:520: undefined reference to `last_real_name.0'
>> genextract.o(.text+0x9b1):/home/judd/gcc-dev/gcc-ssa/gcc/ 
>> genextract.c:524: undefined reference to `last_real_name.0'
>> genextract.o(.text+0x9bc):/home/judd/gcc-dev/gcc-ssa/gcc/ 
>> genextract.c:525: undefined reference to `last_real_code.1'
>> collect2: ld returned 1 exit status
>> make[2]: *** [genextract] Error 1
>> make[2]: Leaving directory `/home/judd/gcc-dev/obj-ssa/gcc'
>> make[1]: *** [stage2_build] Error 2
>> make[1]: Leaving directory `/home/judd/gcc-dev/obj-ssa/gcc'
>> make: *** [bootstrap] Error 2
>>
>>
>> If you would like more information or a formal and complete bug  
>> report, please
>> let me know.
>>
>> Keep up the great work.
>>
>>
>> Judd Jenne
>>
>>
>



More information about the Gcc mailing list