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

JUDD JENNE judd.jenne@charter.net
Thu Aug 21 08:36:00 GMT 2003


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