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

Andrew Haley aph@redhat.com
Fri Mar 16 15:18:00 GMT 2007


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.
Andrew.


More information about the Java mailing list

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