This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Bootstrap failure on sh-unknown-linux-gun
- From: Josef Zlomek <zlomj9am at artax dot karlin dot mff dot cuni dot cz>
- To: kaz Kojima <kkojima at rr dot iij4u dot or dot jp>
- Cc: gcc-patches at gcc dot gnu dot org, joern dot rennecke at superh dot com,aoliva at redhat dot com
- Date: Fri, 14 Feb 2003 16:09:58 +0100
- Subject: Re: Bootstrap failure on sh-unknown-linux-gun
- References: <200302141123.h1EBNmH21292@r-rr.iij4u.or.jp>
> sh-unknown-linux-gun doesn't bootstrap on the trunk.
>
> ./xgcc -B./ -B/usr/local/sh4-unknown-linux-gnu/bin/ -isystem /usr/local/sh4-unknown-linux-gnu/include -isystem /usr/local/sh4-unknown-linux-gnu/sys-include -L/ext2/dcroot/home/dcuser/sh-tls-gcc/gcc/../ld -O2 -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fpic -DNO_FPSCR_VALUES -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../../LOCAL2/gcc/gcc -I../../LOCAL2/gcc/gcc/. -I../../LOCAL2/gcc/gcc/config -I../../LOCAL2/gcc/gcc/../include -DFINE_GRAINED_LIBRARIES -DL_mul_sf -c fp-bit.c -o libgcc/./_mul_sf.o
> /tmp/cc5i3sOT.s: Assembler messages:
> /tmp/cc5i3sOT.s:149: Error: symbol `.LPCS0' is already defined
>
> It seems that the recent patch for new BBRO
>
> > 2003-02-10 Josef Zlomek <zlomekj@suse.cz>
> >
> > * Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
> > * bb-reorder.c (make_reorder_chain): Deleted.
> > (make_reorder_chain_1): Deleted.
> > (find_traces): New function.
> > (rotate_loop): New function.
> > (mark_bb_visited): New function.
> > (find_traces_1_round): New function.
> > (copy_bb): New function.
> > (bb_to_key): New function.
> > (better_edge_p): New function.
> > (connect_traces): New function.
> > (copy_bb_p): New function.
> > (get_uncond_jump_length): New function.
> > (reorder_basic_blocks): Use new functions (Software Trace Cache).
> > * cfgcleanup.c (outgoing_edges_match): Enable crossjumping across loop
> > boundaries.
>
> causes this failure. SH uses unspec patterns to generate an unique
> label just after a call instruction in PIC case. New copy_bb_p doesn't
> know such things and duplicates the unspec pattern by copy_bb. Then
> duplicate labels are generated.
copy_bb internally uses cfg_layout_duplicate_bb (which has been in
mainline for some time). Probably the new bb-reorder is the first code
enabled by default (on -O2) which uses it.
> How can it be fixed?
I do not know (I have no experience with machine desrciptors),
I have forwarded your mail to Honza Hubicka (jh@suse.cz)
who wrote cfg_layout_duplicate_bb.
Josef