This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
SH: Bootstrap failure
- From: Kaz Kojima <kkojima at rr dot iij4u dot or dot jp>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 31 Mar 2005 22:03:56 +0900 (JST)
- Subject: SH: Bootstrap failure
Hi,
Current mainline fails for sh4-unknown-linux-gnu when building
libstdc++v3 with duplicate labels:
/exp/ldroot/dodes/xsh-gcc-orig/./gcc/xgcc -shared-libgcc -B/exp/ldroot/dodes/xsh-gcc-orig/./gcc/ -nostdinc++ -L/exp/ldroot/dodes/xsh-gcc-orig/sh4-unknown-linux-gnu/libstdc++-v3/src -L/exp/ldroot/dodes/xsh-gcc-orig/sh4-unknown-linux-gnu/libstdc++-v3/src/.libs -B/usr/local/sh4-unknown-linux-gnu/bin/ -B/usr/local/sh4-unknown-linux-gnu/lib/ -isystem /usr/local/sh4-unknown-linux-gnu/include -isystem /usr/local/sh4-unknown-linux-gnu/sys-include -I/exp/ldroot/dodes/xsh-gcc-orig/sh4-unknown-linux-gnu/libstdc++-v3/include/sh4-unknown-linux-gnu -I/exp/ldroot/dodes/xsh-gcc-orig/sh4-unknown-linux-gnu/libstdc++-v3/include -I/exp/ldroot/dodes/ORIG/gcc/libstdc++-v3/libsupc++ -g -O2 -D_GNU_SOURCE -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -c ../../../../ORIG/gcc/libstdc++-v3/src/codecvt.cc -fPIC -DPIC -o .libs/codecvt.o
/tmp/cc6YpO8d.s: Assembler messages:
/tmp/cc6YpO8d.s:219: Error: symbol `.LBE14' is already defined
/tmp/cc6YpO8d.s:220: Error: symbol `.LBE13' is already defined
I've found that it started after an Ian's patch:
2005-03-30 Ian Lance Taylor <ian@airs.com>
* final.c (final): Remove prescan parameter. Change all callers.
(final_scan_insn): Remove prescan parameter. Change all callers.
(http://gcc.gnu.org/ml/gcc-patches/2005-03/msg02561.html)
and it goes away if I revert a hunk of the patch:
@@ -2383,21 +2357,11 @@ final_scan_insn (rtx insn, FILE *file, i
emit them before the peephole. */
if (next != 0 && next != NEXT_INSN (insn))
{
- rtx note, prev = PREV_INSN (insn);
+ rtx note;
for (note = NEXT_INSN (insn); note != next;
note = NEXT_INSN (note))
- final_scan_insn (note, file, optimize, prescan, nopeepholes, seen);
-
- /* In case this is prescan, put the notes
- in proper position for later rescan. */
- note = NEXT_INSN (insn);
- PREV_INSN (note) = prev;
- NEXT_INSN (prev) = note;
- NEXT_INSN (PREV_INSN (next)) = insn;
- PREV_INSN (insn) = PREV_INSN (next);
- NEXT_INSN (insn) = next;
- PREV_INSN (next) = insn;
+ final_scan_insn (note, file, optimize, nopeepholes, seen);
}
/* PEEPHOLE might have changed this. */
Perhaps the comment is out-dated but the code is still needed, isn't it?
Regards,
kaz