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: Bootstrap failure on sh-unknown-linux-gun


> 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


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