-findirect-dispatch: broken on Linux, working on Mingw?
Andrew Haley
aph@redhat.com
Sat Mar 10 06:53:00 GMT 2007
Marco Trudel writes:
> Andrew Haley wrote:
> > Marco Trudel writes:
> > > Andrew Haley wrote:
> > > > Marco Trudel writes:
> > > > > Andrew Haley wrote:
> > > > > > Marco Trudel writes:
> > > >
> > > > > > > Is there a better way to solve this problem?
> > > > > >
> > > >
> > > > Notice this fragment:
> > > >
> > > > -lgcc -lgcj_bc -lm
> > > >
> > > > shouldn't be there. -lgcj_bc should only be linked when linking
> > > > dynamically. It should be
> > > >
> > > > -lgcc -lgcj -lm
> > >
> > > Well then, lets take your suggested line:
> > > *lib: %{static-libgcj:-non_shared -lgcj
> > > -call_shared;:%{s-bc-abi:-lgcj_bc;:-lgcj}} -lm -lpthread -lrt -ldl
> > > %(libgcc) %(liborig)
> > > and change it to:
> > > *lib: %{static-libgcj:-non_shared -lgcj
> > > -call_shared;:%{s-bc-abi:-lgcj;:-lgcj}} -lm -lpthread -lrt -ldl
> > > %(libgcc) %(liborig)
> >
> > My suggestion is
> >
> > *lib: -lgcj -lm -lpthread -lrt -ldl %(libgcc) %(liborig)
>
> Sorry, I wasn't sure if you meant this as suggestion or if you meant
> that I just should stay with the default. This prints "gcj: unrecognized
> option '-s-bc-abi'" as warning but otherwise works.
OK, rewrite that to
*lib: %{s-bc-abi:} -lgcj -lm -lpthread -lrt -ldl %(libgcc) %(liborig)
Now, I'm very confused. I don't know why you are getting all this
stuff in Windows. It shouldn't be there. The logic (in configure.host)
that controls this is:
case "${host}" in
*linux*|*-kfreebsd*-gnu)
use_libgcj_bc=yes
;;
*)
use_libgcj_bc=no
;;
esac
Without use_libgcj_bc set to "yes" you should get the simple *lib line
above. There should be no references to -lgcj_bc.
So, I don't know where your strage Windows *lib line came from.
Andrew.
More information about the Java
mailing list