------- Comment #6 from jakub at gcc dot gnu dot org 2008-12-10 11:14 ------- libgcj_bc.so is a dummy shared library, which is meant for ld(1) only and provides just a subset of libgcj.so symbols that are for -findirect-dispatch only and aren't changing ABI. libgcj_bc.so.1 is supposed to be a small library with just DT_NEEDED libgcj.so.LATEST and DT_SONAME libgcj_bc.so.1, providing no symbols at all.
-findirect-dispatch programs link just against -lgcj_bc, not -lgcj and thus can be used against any libjava version that provides libgcj_bc.so.1. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38396