This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Disappearing labels fix
- To: Jeffrey A Law <law at cygnus dot com>,gcc-patches at gcc dot gnu dot org
- Subject: Re: Disappearing labels fix
- From: Franz Sirl <Franz dot Sirl-kernel at lauterbach dot com>
- Date: Sun, 29 Apr 2001 11:52:15 +0200
- References: <6073.988476936@slagheap.cygnus.com>
On Saturday 28 April 2001 18:55, Jeffrey A Law wrote:
> This is a slight rework of a patch Bernd installed into the gcc-2.95.x
> tree; it fixes a bug Mark ran into in a linux-hpux cross compiler (compiler
> abort due to mucking up reference counts on labels). It's likely the abort
> would happen hpux native when using the HP assembler instead of GAS, so I
> consider it important
> enough to go ahead and fix on the gcc-3.0 branch.
>
> David E. probably recalls that Bernd's original patch caused indigestion on
> the ppc-aix port. So as part of testing this patch I also bootstrapped
> ppc-aix (as well as ia32-linux and PA32 hpux).
>
> * flow.c (propagate_block_delete_insn): Handle deletion of ADDR_VEC
> and ADDR_DIFF_VEC insns when the proceeding CODE_LABEL was put
> into the constant pool.
> * jump.c (jump_optimize_1): Remove barrier successors after all
> the LABEL_NUSES counds have been computed.
> (delete_barrier_successors): When deleting a tablejump insn, also
> delete the jump table it uses.
> * varasm.c (force_const_mem): Set LABEL_PRESERVE_P when forcing a
> label into memory.
Jeff, this causes a bootstrap fail on powerpc-linux-gnu on both mainline and
branch:
/home/fsirl/obj/gccm/gcc/gcj -B/home/fsirl/obj/gccm/ppc-linux/nof/libjava/
-B/home/fsirl/obj/gccm/gcc/ -g -O2 -msoft-float -fPIC -mstrict-align
-msoft-float -fPIC -mstrict-align -o .libs/jv-convert
--main=gnu.gcj.convert.Convert -shared-libgcc
gnu/gcj/convert/.libs/BytesToUnicode.o gnu/gcj/convert/.libs/Convert.o
gnu/gcj/convert/.libs/Input_8859_1.o gnu/gcj/convert/.libs/Input_ASCII.o
gnu/gcj/convert/.libs/Input_EUCJIS.o gnu/gcj/convert/.libs/Input_JavaSrc.o
gnu/gcj/convert/.libs/Input_SJIS.o gnu/gcj/convert/.libs/Input_UTF8.o
gnu/gcj/convert/.libs/Input_iconv.o gnu/gcj/convert/.libs/IOConverter.o
gnu/gcj/convert/.libs/Output_8859_1.o gnu/gcj/convert/.libs/Output_ASCII.o
gnu/gcj/convert/.libs/Output_EUCJIS.o gnu/gcj/convert/.libs/Output_JavaSrc.o
gnu/gcj/convert/.libs/Output_SJIS.o gnu/gcj/convert/.libs/Output_UTF8.o
gnu/gcj/convert/.libs/Output_iconv.o gnu/gcj/convert/.libs/UnicodeToBytes.o
-L/home/fsirl/obj/gccm/ppc-linux/nof/libjava ./.libs/libgcj.so
-L/home/fsirl/obj/gccm/ppc-linux/nof/libstdc++-v3/src
-L/home/fsirl/obj/gccm/ppc-linux/nof/libstdc++-v3/src/.libs -lm
-L/home/fsirl/obj/gccm/gcc/nof -L/home/fsirl/obj/gccm/gcc -L/usr/lib/nof
-lgcc_s_nof -lc -lgcc_s_nof
-ldl ./../boehm-gc/.libs/libgcjgc.so
-L/home/fsirl/obj/gccm/ppc-linux/nof/libjava/../boehm-gc/.libs -lpthread
./../zlib/.libs/libzgcj.so
-L/home/fsirl/obj/gccm/ppc-linux/nof/libjava/../zlib/.libs
-L/home/fsirl/obj/gccm/ppc-linux/nof/libjava/.libs -Wl,--rpath
-Wl,/home/fsirl/gnubin/lib/nof
./.libs/libgcj.so: undefined reference to `L19418'
./.libs/libgcj.so: undefined reference to `L19588'
./.libs/libgcj.so: undefined reference to `L19504'
./.libs/libgcj.so: undefined reference to `L19420'
./.libs/libgcj.so: undefined reference to `L19417'
./.libs/libgcj.so: undefined reference to `L19587'
./.libs/libgcj.so: undefined reference to `L19421'
./.libs/libgcj.so: undefined reference to `L19586'
./.libs/libgcj.so: undefined reference to `L19505'
./.libs/libgcj.so: undefined reference to `L19501'
./.libs/libgcj.so: undefined reference to `L19502'
./.libs/libgcj.so: undefined reference to `L19589'
./.libs/libgcj.so: undefined reference to `L19419'
./.libs/libgcj.so: undefined reference to `L19503'
./.libs/libgcj.so: undefined reference to `L19585'
collect2: ld returned 1 exit status
make[5]: *** [jv-convert] Error 1
make[5]: Leaving directory `/home/fsirl/obj/gccm/ppc-linux/nof/libjava'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/home/fsirl/obj/gccm/ppc-linux/nof/libjava'
make[3]: *** [multi-do] Error 1
Any idea how to tackle this? I can give you access to this machine if you
want.
Franz.