PATCH: Fix libffi for 64-bit Solaris 10+/x86

Rainer Orth ro@techfak.uni-bielefeld.de
Thu Jul 12 19:25:00 GMT 2007


While bootstrapping mainline on i386-pc-solaris2.10, I noticed that the
64-bit java programs failed to link:

Undefined			first referenced
 symbol  			    in file
ffi_prep_closure_loc                ./.libs/libgcj.so
ffi_prep_cif_machdep                ./.libs/libgcj.so
ffi_call                            ./.libs/libgcj.so
ffi_raw_call                        ./.libs/libgcj.so
ffi_prep_raw_closure_loc            ./.libs/libgcj.so
ld: fatal: Symbol referencing errors. No output written to .libs/jv-convert
collect2: ld returned 1 exit status
make[5]: *** [jv-convert] Error 1

Those symbols are from ffi64.c and unix64.S in libffi, but the clause which
changed TARGET to X86_64 to include them was lost between 4.2 and mainline.
The following patch restores it and allows the bootstrap to complete.

Ok for mainline?

	Rainer

-----------------------------------------------------------------------------
Rainer Orth, Faculty of Technology, Bielefeld University


Thu Jul 12 20:31:33 2007  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* configure.ac (i?86-*-solaris2.1[0-9]): Set TARGET to X86_64.
	* configure: Regenerate.
	
Index: libffi/configure.ac
===================================================================
--- libffi/configure.ac	(revision 126588)
+++ libffi/configure.ac	(working copy)
@@ -75,6 +75,9 @@ case "$host" in
   i?86-*-darwin*)
 	TARGET=X86_DARWIN; TARGETDIR=x86
 	;;
+  i?86-*-solaris2.1[[0-9]]*)
+	TARGET=X86_64; TARGETDIR=x86
+	;;
   i?86-*-*)
 	TARGET=X86; TARGETDIR=x86
 	;;



More information about the Gcc-patches mailing list