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

Marco Trudel mtrudel@gmx.ch
Fri Mar 16 15:29:00 GMT 2007


Andrew Haley wrote:
> Marco Trudel writes:
> > Andrew Haley wrote:
> > > Marco Trudel writes:
> > > > Marco Trudel wrote:
> > > > > Andrew Haley wrote:
> > > > >> Marco Trudel writes:
> > > > >> > Andrew Haley wrote:
> > > > >> > > Marco Trudel writes:
> > > > >> > > > Andrew Haley wrote:
> > > > >> > >
> > > > >> > > [snip]
> > > > >> > > > > > > Without use_libgcj_bc set to "yes" you should get the 
> > > > >> simple *lib line
> > > > >> > > > > above. There should be no references to -lgcj_bc.
> > > > >> > > > > > > What about the the host=Linux target=Linux compiler? 
> > > > >> -findirect-dispatch > > > doesn't work either.
> > > > >> > > > > Eh? Works for me and everyone else using it.
> > > > >> > > It seems we talked about different setups all along. So let me 
> > > > >> start > from scratch again, simplify it and combine it with the 
> > > > >> progress you > already archived:
> > > > >> > > I use a static gcj rev 122749, host=Linux, target=Linux.
> > > > >>
> > > > >> Configured with --disable-shared? On Linux?
> > > > > 
> > > > > Yes.
> > > > > 
> > > > >> Surely not; that makes no sense at all.
> > > > > 
> > > > > For the sake of consistency, it does. At least in my case ;-)
> > > 
> > > You're configuring in a way that makes a broken compiler. 
> > > 
> > > Your gun, your bullet, your foot.
> > > 
> > > It is arguable that we should change the libgcj.spec rule so that when
> > > compiling with indirect dispatch in this broken case we should not
> > > error. But indirect dispatch can't work properly with
> > > --disable-shared anyway, as I've already explained.
> > 
> > When someone knows what he's doing, indirect dispatch can be helpful.
>> No argument there.
>> > Even with a static GCJ build. It worked with 4.2 and in 4.3 it still 
> > works for target=Mingw. So it would be nice if it would work for 
> > target=Linux by default too.
> > BTW: ecj.jar is compiled with -findirect-dispatch. This implies that a 
> > shared GCJ is picked for the compilation. Might fail...
> > 
> > > For the Windows case, we need to know why the configury test isn't
> > > working before going any further. Then, we can change it so that
> > > anyone who misconfigures a Linux compiler with --disable-shared gets
> > > the same rule in libgcj.spec.
> > 
> > Forget about all the Windows things. Somewhen along the road I may have 
> > been imprecise or you didn't read my description correctly. There's no 
> > issue with Windows. Let's concentrate on the host=Linux target=Linux 
> > compiler.
>> Like I said, if you're [mis]configuring libgcj in this way, you need
> to set use_libgcj_bc=no in configure.host. That's it.

Ok, I'll test that. Would be nice if that's the default when compiling 
in static mode. Respectively strange that this is now needed when it 
wasn't before...
thanks
Marco


More information about the Java mailing list

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