On Tue, Apr 16, 2013 at 10:35:29AM +0200, Andreas Schwab wrote:
> 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.
That doesn't look right, if -findirect-dispatch now newly needs
_Jv_MonitorExit (when has that been added?), then the symbol should
be added to libgcj_bc.so.
Jakub