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