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