This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]