I've recently tried a i686-unknown-linux-gnu --enable-targets=all bootstrap, which failed to link the 64-bit jv-convert etc.: ./.libs/libgcj.so: undefined reference to `ffi_raw_call' ./.libs/libgcj.so: undefined reference to `ffi_prep_raw_closure_loc' ./.libs/libgcj.so: undefined reference to `ffi_prep_cif_machdep' ./.libs/libgcj.so: undefined reference to `ffi_prep_closure_loc' ./.libs/libgcj.so: undefined reference to `ffi_call' collect2: error: ld returned 1 exit status make[5]: *** [jv-convert] Error 1 This happens because libffi doesn't build the x86_64 objects in this configuration. The following patch fixes this and allowed (together with a libjava patch to be submitted shortly) the bootstrap to finish. I've also bootstrapped x86_64-unknown-linux-gnu without regressions. The same issue still exists in upstream libffi, and should be harmless without --enable-targets=all since the added files are empty then. Ok for mainline gcc? Rainer 2011-12-13 Rainer Orth * configure.ac (i?86-*-*): Set TARGET to X86_64. * configure: Regenerate.