-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

AltStyle によって変換されたページ (->オリジナル) /