libgcj.so doesn't link on IRIX 6:
/vol/gcc/obj/gcc-4.0.0-20050414/6.5-gcc/gcc/xgcc -shared-libgcc
-B/vol/gcc/obj/gcc-4.0.0-20050414/6.5-gcc/gcc/ -nostdinc++
-L/vol/gcc/obj/gcc-4.0.0-20050414/6.5-gcc/mips-sgi-irix6.5/libstdc++-v3/src
-L/vol/gcc/obj/gcc-4.0.0-20050414/6.5-gcc/mips-sgi-irix6.5/libstdc++-v3/src/.libs
-B/vol/gcc/share/mips-sgi-irix6.5/bin/ -B/vol/gcc/share/mips-sgi-irix6.5/lib/
-isystem /vol/gcc/share/mips-sgi-irix6.5/include -isystem
/vol/gcc/share/mips-sgi-irix6.5/sys-include -shared -nostdlib
/vol/gcc/obj/gcc-4.0.0-20050414/6.5-gcc/gcc/irix-crti.o
/vol/gcc/obj/gcc-4.0.0-20050414/6.5-gcc/gcc/crtbegin.o .libs/libgcj.la-2.o
-L/vol/gcc/obj/gcc-4.0.0-20050414/6.5-gcc/mips-sgi-irix6.5/libstdc++-v3/src
-L/vol/gcc/obj/gcc-4.0.0-20050414/6.5-gcc/mips-sgi-irix6.5/libstdc++-v3/src/.libs
-L/vol/gcc/obj/gcc-4.0.0-20050414/6.5-gcc/mips-sgi-irix6.5/libjava
./.libs/libgcj0_convenience.a ../libffi/.libs/libffi_convenience.a
../zlib/.libs/libzgcj_convenience.a ../boehm-gc/.libs/libgcjgc_convenience.a
./libltdl!
/.libs/libltdlc.a -ldl -L/vol/gcc/obj/gcc-4.0.0-20050414/6.5-gcc/gcc
-L/vol/gcc/lib -L/lib/../lib32 -L/usr/lib/../lib32 -lgcc_s -L/usr/lib32/mips3
-L/usr/lib32 -lgcc_s -lc
/vol/gcc/obj/gcc-4.0.0-20050414/6.5-gcc/gcc/crtend.o
/vol/gcc/obj/gcc-4.0.0-20050414/6.5-gcc/gcc/irix-crtn.o -Wl,-soname
-Wl,libgcj.so.7 `test -n "sgi7.0" && echo -Wl,-set_version -Wl,sgi7.0`
-Wl,-update_registry -Wl,.libs/so_locations -o .libs/libgcj.so.7.0
ld32: WARNING 84 : ./.libs/libgcj0_convenience.a is not used for resolving any
symbol.
ld32: WARNING 84 : ../libffi/.libs/libffi_convenience.a is not used for
resolving any symbol.
ld32: WARNING 84 : ../zlib/.libs/libzgcj_convenience.a is not used for
resolving any symbol.
ld32: WARNING 84 : ../boehm-gc/.libs/libgcjgc_convenience.a is not used for
resolving any symbol.
ld32: WARNING 84 : ./libltdl/.libs/libltdlc.a is not used for resolving any
symbol.
ld32: WARNING 84 : /usr/lib/../lib32/libdl.so is not used for resolving any
symbol.
ld32: WARNING 47 : This module (.libs/libgcj.la-2.o .text) contains branch
instruction(s)
that might degrade performance on an older version (rev.
2.2) R4000 processor.
ld32: INFO 171: Multigot invoked. Gp relative region broken up into 3
separate regions.
ld32: ERROR 97 : GOT overflow in .libs/libgcj.la-2.o.
See the dso(5) manpage.
ld32: Relocation 293309 in section .rela.text in file .libs/libgcj.la-2.o.
ld32: ERROR 104: GOT page/offset relocation out of range: relocation offset:
0x49ecfc.
Please use -LD_LAYOUT:lgot_buffer=50.
If that doesn't work see the dso(5) manpage.
[many more elided...]
ld32: INFO 152: Output file removed because of error.
collect2: ld returned 2 exit status
make[3]: *** [libgcj.la] Error 1
Using -LD_LAYOUT:lgot_buffer=50 doesn't help either. This is a regression
from 3.4.x.
Environment:
System: IRIX sculptor 6.5 10060437 IP32
host: mips-sgi-irix6.5
build: mips-sgi-irix6.5
target: mips-sgi-irix6.5
configured with: /vol/gnu/src/gcc/gcc-4.0-branch-dist/configure
--prefix=/vol/gcc --with-local-prefix=/vol/gcc --disable-nls --enable-libgcj
--disable-multilib --with-gmp-dir=/vol/gnu/obj/gmp-4.1.3
--with-mpfr-dir=/vol/gnu/obj/gmp-4.1.3 --with-gnu-as
--with-as=/vol/gcc/lib/gas-2.15
How-To-Repeat:
Bootstrap the 4.0 branch as described above.
------- Additional Comments From ro at techfak dot uni-bielefeld dot de
2005-06-06 23:17 -------
Fix:
The problem doesn't occur on mainline due to this patch
http://gcc.gnu.org/ml/gcc-patches/2005-05/msg01552.html
which also fixes bootstrap/20155. So this should be backported to the 4.0
branch.
--
Summary: libgcj.so fails to link on IRIX 6: GOT overflow
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Severity: critical
Priority: P2
Component: libgcj
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ro at techfak dot uni-bielefeld dot de
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: mips-sgi-irix6.5
GCC host triplet: mips-sgi-irix6.5
GCC target triplet: mips-sgi-irix6.5
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21944