This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
[PATCH] Fix linking with -findirect-dispatch
- From: Andreas Schwab <schwab at suse dot de>
- To: java-patches at gcc dot gnu dot org
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Tue, 16 Apr 2013 10:35:29 +0200
- Subject: [PATCH] Fix linking with -findirect-dispatch
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, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."