-findirect-dispatch: broken on Linux, working on Mingw?
Marco Trudel
mtrudel@gmx.ch
Fri Mar 16 15:08:00 GMT 2007
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.
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.
Marco
More information about the Java
mailing list