[libffi] Build 64-bit multilib for i?86-linux

Rainer Orth ro@CeBiTec.Uni-Bielefeld.DE
Tue Dec 13 17:41:00 GMT 2011


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  <ro@CeBiTec.Uni-Bielefeld.DE>

	* configure.ac (i?86-*-*): Set TARGET to X86_64.
	* configure: Regenerate.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: linx86-libffi64.patch
Type: text/x-patch
Size: 270 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/java-patches/attachments/20111213/f5262ea6/attachment.bin>
-------------- next part --------------

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University


More information about the Java-patches mailing list