Linking with -findirect-dispatch fails with this error: x86_64-linux-gcj -o ecjx -findirect-dispatch --main=org.eclipse.jdt.internal.compiler.batch.GCCMain ../../../gcc/libjava/../ecj.jar ecjx.o /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: /tmp/ccppO92n.o: undefined reference to symbol '_Jv_MonitorExit' /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: note: '_Jv_MonitorExit' is defined in DSO /usr/lib64/libgcj.so.13 so try adding it to the linker command line
Andreas. * configure.ac (LIBGCJ_SPEC_LGCJ_BC): Append -lgcj. (libgcj_spec_lgcj_bc_override): Likewise. * configure: Regenerate. diff --git a/libjava/configure.ac b/libjava/configure.ac index ba6b363..d378125 100644 --- a/libjava/configure.ac +++ b/libjava/configure.ac @@ -266,7 +266,7 @@ if test "$enable_libgcj_sublibs" = yes ; then # words in the string and you're relying on the ordering to # append the correct one. libgcj_spec_lgcj_override="-lgcj-noncore -lgcj" - libgcj_spec_lgcj_bc_override="-lgcj-noncore -lgcj_bc" + libgcj_spec_lgcj_bc_override="-lgcj-noncore -lgcj_bc -lgcj" fi @@ -1165,7 +1165,7 @@ AC_CONFIG_LINKS(sysdep/backtrace.h:$fallback_backtrace_h) AC_CONFIG_LINKS(sysdep/descriptor.h:$descriptor_h) LIBGCJ_SPEC_LGCJ=-lgcj -LIBGCJ_SPEC_LGCJ_BC=-lgcj_bc +LIBGCJ_SPEC_LGCJ_BC="-lgcj_bc -lgcj" if test x"$libgcj_spec_lgcj_override" != x ; then LIBGCJ_SPEC_LGCJ=$libgcj_spec_lgcj_override fi -- 1.8.2.1 -- Andreas Schwab, SUSE Labs, sch...@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different."