This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: SH: Bootstrap failure


Kaz Kojima <kkojima@rr.iij4u.or.jp> writes:

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

Apparently it is, somehow.  I think it would be OK for you to go ahead
and restore that part of the patch, or I can do it if you prefer.

Ian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]