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