This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
Re: PATCH: Building libgcj with --disable-interpreter fails
- From: Andrew Haley <aph-gcc at littlepinkcloud dot COM>
- To: Rainer Orth <ro at techfak dot uni-bielefeld dot de>
- Cc: java-patches at gcc dot gnu dot org
- Date: Mon, 9 Jul 2007 11:38:01 +0100
- Subject: Re: PATCH: Building libgcj with --disable-interpreter fails
- References: <18061.17091.256467.797973@manam.TechFak.Uni-Bielefeld.DE>
Rainer Orth writes:
> I've recently tried to get libjava to build again on mips-sgi-irix6.5.
> After working around PR libgcj/28190 with a fixincludes hack, I had to
> fix two problems:
>
> * I need a new mips-sgi-irix6* clause in configure.host to set the correct
> sysdeps_dir and disable the interpreter (which cannot work since only the
> O32 ABI has closure support in libffi):
>
> Thu Jun 28 12:31:42 2007 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
>
> * configure.host (mips-sgi-irix6*): Set sysdeps_dir.
> Disable interpreter.
>
> Index: libjava/configure.host
> ===================================================================
> --- libjava/configure.host (revision 126209)
> +++ libjava/configure.host (working copy)
> @@ -254,6 +254,11 @@ EOF
> sysdeps_dir=x86-64
> DIVIDESPEC=-f%{m32:no-}%{!m32:%{!m64:no-}}%{m64:}use-divide-subroutine
> ;;
> + mips-sgi-irix6* )
> + sysdeps_dir=mips
> + # disable interpreter, no closure support for N32 and N64 ABIs
> + libgcj_interpreter=no
> + ;;
> mips*-*-linux* )
> sysdeps_dir=mips
> can_unwind_signal=yes
>
> I'm currently running a bootstrap on the 4.2 branch, where this patch may
> be enough to get libgcj working again (as it did in 4.1).
>
Tom Tromey and I have looked at the patch, and we both hate the idea
of scattering yet more #ifdef INTERPRETER over the gcj source.
However, it's probably the best thing to do at the moment. Please
commit this patch.
> * The much bigger problem on mainline was that with libgcj_interpreter=no
> several files didn't compile any longer. By trial and error I've
> determined the following patch which fixes the compile problem.
> Unfortunately, libgcj.so doesn't link any longer (what a surprise :-),
> and I don't know the code well enough to determine how to fix this.
>
> Since my IRIX hosts are quite slow, I tried to verify this patch on
> i386-pc-solaris2.10 (libgcj builds, but fails to link due to PR
> target/32462) and sparc-sun-solaris2.10 (libgcj builds, but fails to link
> due to many missing symbols) with --disable-interpreter.
>
> What's the best way to approach this?
I've added a comment to the Bug.
Andrew.