-findirect-dispatch: broken on Linux, working on Mingw?

Marco Trudel mtrudel@gmx.ch
Fri Mar 9 15:09:00 GMT 2007


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.


Marco


>  > That makes compiling the sample with indirect dispatch work (it also 
>  > runs correct). But I really have no idea what I'm doing... Maybe you 
>  > know more?
> 
> You should only ever link statically with libgcj, not libgcj_bc.
> That's only for shared libraries.
> 
>  > > I guess my fix doesn't work on Windows becasue you don't use the
>  > > static-libgcj command, so it assumes dynamic linking.  I suppose for a
>  > > staticonly build you really need
>  > > 
>  > > *lib: -lgcj  -lm   -lpthread -lrt    -ldl %(libgcc) %(liborig)
>  > 
>  > You mean the original line, right?
> 
> I have no idea what you're talking about.  What original line?
> 
>  > Well, your original fix doesn't work on Linux either.
> 
> It works for me, as long as you compile with -static-libgcj.
> 
>  > But with the changed one, it works too...
> 
> OK.
> 
> Andrew.
> 



More information about the Java mailing list