3.0.9rc12

This commit is contained in:
Anthony Green
2009-12-29 10:06:04 -05:00
parent 14e2e92e86
commit 0cfe60e9d1
51 changed files with 1400 additions and 919 deletions
+3 -3
View File
@@ -14,10 +14,10 @@ Index: libffi/ChangeLog.libffi
+ * testsuite/libffi.call/cls_longdouble.c: Ditto.
+ * testsuite/libffi.call/cls_double_va.c: Ditto.
+
2009-12-25 Andreas Tobler <a.tobler@schweiz.org>
2009-06-16 Andrew Haley <aph@redhat.com>
* fficonfig.h.in: Rebuilt again.
@@ -187,20 +198,20 @@
* testsuite/libffi.call/cls_align_sint64.c,
@@ -173,20 +184,20 @@
2008-12-22 Timothy Wall <twall@users.sf.net>
* testsuite/libffi.call/closure_fn0.c,
+1 -17
View File
@@ -10,15 +10,7 @@ Index: libffi/src/powerpc/ffi.c
PowerPC Foreign Function Interface
@@ -185,6 +186,7 @@ ffi_prep_args_SYSV (extended_cif *ecif,
{
*next_arg.f = (float) double_tmp;
next_arg.u += 1;
+ intarg_count++;
}
else
*fpr_base.d++ = double_tmp;
@@ -1149,6 +1151,7 @@ ffi_closure_helper_SYSV (ffi_closure *cl
@@ -1204,6 +1205,7 @@ ffi_closure_helper_SYSV (ffi_closure *cl
pst++;
avalue[i] = pst;
pst += 2;
@@ -26,14 +18,6 @@ Index: libffi/src/powerpc/ffi.c
}
break;
@@ -1222,6 +1225,7 @@ ffi_closure_helper_SYSV (ffi_closure *cl
{
avalue[i] = pst;
pst += 4;
+ ng = 8;
}
break;
}
Index: libffi/ChangeLog.libffi
===================================================================
--- libffi.orig/ChangeLog.libffi
-1
View File
@@ -1,5 +1,4 @@
stand-alone
snow-leopard
fix-huge_struct-test
windows
undefine_AC_ARG_VAR_PRECIOUS
+6 -73
View File
@@ -1,56 +1,3 @@
Index: libffi/src/closures.c
===================================================================
--- libffi.orig/src/closures.c
+++ libffi/src/closures.c
@@ -50,11 +50,6 @@
executable memory. */
# define FFI_MMAP_EXEC_WRIT 1
# endif
-# if defined(X86_64) && defined(__sun__) && defined(__svr4__)
-/* The data segment on 64-bit Solaris/x86 isn't executable, so use mmap
- instead. */
-# define FFI_MMAP_EXEC_WRIT 1
-# endif
#endif
#if FFI_MMAP_EXEC_WRIT && !defined FFI_MMAP_EXEC_SELINUX
@@ -214,6 +209,8 @@ static int dlmunmap(void *, size_t);
#if !(defined(X86_WIN32) || defined(X86_WIN64)) || defined (__CYGWIN__)
+#if FFI_MMAP_EXEC_SELINUX
+
/* A mutex used to synchronize access to *exec* variables in this file. */
static pthread_mutex_t open_temp_exec_file_mutex = PTHREAD_MUTEX_INITIALIZER;
@@ -483,6 +480,27 @@ dlmmap (void *start, size_t length, int
return dlmmap_locked (start, length, prot, flags, offset);
}
+#else
+
+static void *
+dlmmap (void *start, size_t length, int prot,
+ int flags, int fd, off_t offset)
+{
+
+ assert (start == NULL && length % malloc_getpagesize == 0
+ && prot == (PROT_READ | PROT_WRITE)
+ && flags == (MAP_PRIVATE | MAP_ANONYMOUS)
+ && fd == -1 && offset == 0);
+
+#if FFI_CLOSURE_TEST
+ printf ("mapping in %zi\n", length);
+#endif
+
+ return mmap (start, length, prot | PROT_EXEC, flags, fd, offset);
+}
+
+#endif
+
/* Release memory at the given address, as well as the corresponding
executable page if it's separate. */
static int
Index: libffi/ChangeLog.libffi
===================================================================
--- libffi.orig/ChangeLog.libffi
@@ -77,9 +24,9 @@ Index: libffi/configure.ac
===================================================================
--- libffi.orig/configure.ac
+++ libffi/configure.ac
@@ -274,6 +274,14 @@ if test x$TARGET = xX86 || test x$TARGET
fi
fi
@@ -282,6 +282,14 @@ case "$target" in
;;
esac
+case "$target" in
+ *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
@@ -96,9 +43,9 @@ Index: libffi/configure
===================================================================
--- libffi.orig/configure
+++ libffi/configure
@@ -14497,6 +14497,16 @@ _ACEOF
fi
fi
@@ -14507,6 +14507,16 @@ _ACEOF
;;
esac
+case "$target" in
+ *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
@@ -113,17 +60,3 @@ Index: libffi/configure
{ $as_echo "$as_me:$LINENO: checking whether .eh_frame section should be read-only" >&5
$as_echo_n "checking whether .eh_frame section should be read-only... " >&6; }
if test "${libffi_cv_ro_eh_frame+set}" = set; then
Index: libffi/fficonfig.h.in
===================================================================
--- libffi.orig/fficonfig.h.in
+++ libffi/fficonfig.h.in
@@ -17,6 +17,9 @@
/* Define this if you want extra debugging. */
#undef FFI_DEBUG
+/* Cannot use malloc on this target, so, we revert to alternative means */
+#undef FFI_MMAP_EXEC_WRIT
+
/* Define this is you do not want support for the raw API. */
#undef FFI_NO_RAW_API
+282 -103
View File
@@ -12796,7 +12796,7 @@ Index: libffi/configure
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64 for libffi 3.0.8.
+# Generated by GNU Autoconf 2.63 for libffi 3.0.9rc11.
+# Generated by GNU Autoconf 2.63 for libffi 3.0.9rc12.
#
# Report bugs to <http://gcc.gnu.org/bugs.html>.
#
@@ -13752,8 +13752,8 @@ Index: libffi/configure
PACKAGE_TARNAME='libffi'
-PACKAGE_VERSION='3.0.8'
-PACKAGE_STRING='libffi 3.0.8'
+PACKAGE_VERSION='3.0.9rc11'
+PACKAGE_STRING='libffi 3.0.9rc11'
+PACKAGE_VERSION='3.0.9rc12'
+PACKAGE_STRING='libffi 3.0.9rc12'
PACKAGE_BUGREPORT='http://gcc.gnu.org/bugs.html'
-PACKAGE_URL=''
@@ -13918,7 +13918,7 @@ Index: libffi/configure
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures libffi 3.0.8 to adapt to many kinds of systems.
+\`configure' configures libffi 3.0.9rc11 to adapt to many kinds of systems.
+\`configure' configures libffi 3.0.9rc12 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -13927,7 +13927,7 @@ Index: libffi/configure
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of libffi 3.0.8:";;
+ short | recursive ) echo "Configuration of libffi 3.0.9rc11:";;
+ short | recursive ) echo "Configuration of libffi 3.0.9rc12:";;
esac
cat <<\_ACEOF
@@ -13945,7 +13945,7 @@ Index: libffi/configure
cat <<\_ACEOF
-libffi configure 3.0.8
-generated by GNU Autoconf 2.64
+libffi configure 3.0.9rc11
+libffi configure 3.0.9rc12
+generated by GNU Autoconf 2.63
-Copyright (C) 2009 Free Software Foundation, Inc.
@@ -14045,7 +14045,7 @@ Index: libffi/configure
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
- return $ac_retval
+It was created by libffi $as_me 3.0.9rc11, which was
+It was created by libffi $as_me 3.0.9rc12, which was
+generated by GNU Autoconf 2.63. Invocation command line was
-} # ac_fn_c_try_link
@@ -15318,7 +15318,7 @@ Index: libffi/configure
# Define the identity of the package.
PACKAGE='libffi'
- VERSION='3.0.8'
+ VERSION='3.0.9rc11'
+ VERSION='3.0.9rc12'
cat >>confdefs.h <<_ACEOF
@@ -23803,7 +23803,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
@@ -12396,18 +14486,20 @@ else
@@ -12396,11 +14486,13 @@ else
fi
fi
@@ -23819,6 +23819,17 @@ Index: libffi/configure
fi
fi
@@ -12408,14 +14500,16 @@ fi
case "$target" in
*-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-$as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
+cat >>confdefs.h <<\_ACEOF
+#define FFI_MMAP_EXEC_WRIT 1
+_ACEOF
;;
esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
+{ $as_echo "$as_me:$LINENO: checking whether .eh_frame section should be read-only" >&5
@@ -23828,7 +23839,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
@@ -12424,35 +14516,41 @@ else
@@ -12432,35 +14526,41 @@ else
rm -f conftest.*
fi
@@ -23879,7 +23890,7 @@ Index: libffi/configure
if grep '\.hidden.*foo' conftest.s >/dev/null; then
libffi_cv_hidden_visibility_attribute=yes
fi
@@ -12460,11 +14558,13 @@ else
@@ -12468,11 +14568,13 @@ else
rm -f conftest.*
fi
@@ -23895,7 +23906,7 @@ Index: libffi/configure
fi
@@ -12475,41 +14575,50 @@ fi
@@ -12483,41 +14585,50 @@ fi
@@ -23954,7 +23965,7 @@ Index: libffi/configure
fi
fi
@@ -12545,7 +14654,7 @@ ac_config_commands="$ac_config_commands
@@ -12553,7 +14664,7 @@ ac_config_commands="$ac_config_commands
ac_config_links="$ac_config_links include/ffitarget.h:src/$TARGETDIR/ffitarget.h"
@@ -23963,7 +23974,7 @@ Index: libffi/configure
cat >confcache <<\_ACEOF
@@ -12575,13 +14684,13 @@ _ACEOF
@@ -12583,13 +14694,13 @@ _ACEOF
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
@@ -23979,7 +23990,7 @@ Index: libffi/configure
esac ;;
esac
done
@@ -12589,8 +14698,8 @@ $as_echo "$as_me: WARNING: cache variabl
@@ -12597,8 +14708,8 @@ $as_echo "$as_me: WARNING: cache variabl
(set) 2>&1 |
case $as_nl`(ac_space=' '; set) 2>&1` in #(
*${as_nl}ac_space=\ *)
@@ -23990,7 +24001,7 @@ Index: libffi/configure
sed -n \
"s/'/'\\\\''/g;
s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
@@ -12613,11 +14722,11 @@ $as_echo "$as_me: WARNING: cache variabl
@@ -12621,11 +14732,11 @@ $as_echo "$as_me: WARNING: cache variabl
if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
if test -w "$cache_file"; then
test "x$cache_file" != "x/dev/null" &&
@@ -24004,7 +24015,7 @@ Index: libffi/configure
$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
fi
fi
@@ -12637,8 +14746,8 @@ for ac_i in : $LIBOBJS; do test "x$ac_i"
@@ -12645,8 +14756,8 @@ for ac_i in : $LIBOBJS; do test "x$ac_i"
ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
# 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
# will be set to the directory where LIBOBJS objects are built.
@@ -24015,7 +24026,7 @@ Index: libffi/configure
done
LIBOBJS=$ac_libobjs
@@ -12654,128 +14763,221 @@ else
@@ -12662,128 +14773,221 @@ else
fi
if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
@@ -24299,7 +24310,7 @@ Index: libffi/configure
fi
@@ -12783,10 +14985,9 @@ fi
@@ -12791,10 +14995,9 @@ fi
ac_write_fail=0
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -24312,7 +24323,7 @@ Index: libffi/configure
#! $SHELL
# Generated by $as_me.
# Run this file to recreate the current configuration.
@@ -12796,18 +14997,17 @@ cat >$CONFIG_STATUS <<_ASEOF || as_write
@@ -12804,18 +15007,17 @@ cat >$CONFIG_STATUS <<_ASEOF || as_write
debug=false
ac_cs_recheck=false
ac_cs_silent=false
@@ -24338,7 +24349,7 @@ Index: libffi/configure
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
@@ -12815,15 +15015,23 @@ if test -n "${ZSH_VERSION+set}" && (emul
@@ -12823,15 +15025,23 @@ if test -n "${ZSH_VERSION+set}" && (emul
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else
@@ -24367,7 +24378,7 @@ Index: libffi/configure
as_nl='
'
export as_nl
@@ -12831,13 +15039,7 @@ export as_nl
@@ -12839,13 +15049,7 @@ export as_nl
as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
@@ -24382,7 +24393,7 @@ Index: libffi/configure
as_echo='printf %s\n'
as_echo_n='printf %s'
else
@@ -12848,7 +15050,7 @@ else
@@ -12856,7 +15060,7 @@ else
as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
as_echo_n_body='eval
arg=$1;
@@ -24391,7 +24402,7 @@ Index: libffi/configure
*"$as_nl"*)
expr "X$arg" : "X\\(.*\\)$as_nl";
arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
@@ -12871,6 +15073,13 @@ if test "${PATH_SEPARATOR+set}" != set;
@@ -12879,6 +15083,13 @@ if test "${PATH_SEPARATOR+set}" != set;
}
fi
@@ -24405,7 +24416,7 @@ Index: libffi/configure
# IFS
# We need space, tab and new line, in precisely that order. Quoting is
@@ -12880,15 +15089,15 @@ fi
@@ -12888,15 +15099,15 @@ fi
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
@@ -24424,7 +24435,7 @@ Index: libffi/configure
IFS=$as_save_IFS
;;
@@ -12900,16 +15109,12 @@ if test "x$as_myself" = x; then
@@ -12908,16 +15119,12 @@ if test "x$as_myself" = x; then
fi
if test ! -f "$as_myself"; then
$as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
@@ -24445,7 +24456,7 @@ Index: libffi/configure
done
PS1='$ '
PS2='> '
@@ -12921,89 +15126,7 @@ export LC_ALL
@@ -12929,89 +15136,7 @@ export LC_ALL
LANGUAGE=C
export LANGUAGE
@@ -24536,7 +24547,7 @@ Index: libffi/configure
if expr a : '\(a\)' >/dev/null 2>&1 &&
test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
@@ -13017,12 +15140,8 @@ else
@@ -13025,12 +15150,8 @@ else
as_basename=false
fi
@@ -24550,7 +24561,7 @@ Index: libffi/configure
as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
@@ -13042,25 +15161,76 @@ $as_echo X/"$0" |
@@ -13050,25 +15171,76 @@ $as_echo X/"$0" |
}
s/.*/./; q'`
@@ -24638,7 +24649,7 @@ Index: libffi/configure
rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
@@ -13089,56 +15259,8 @@ fi
@@ -13097,56 +15269,8 @@ fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
@@ -24696,7 +24707,7 @@ Index: libffi/configure
else
test -d ./-p && rmdir ./-p
as_mkdir_p=false
@@ -13157,10 +15279,10 @@ else
@@ -13165,10 +15289,10 @@ else
if test -d "$1"; then
test -d "$1/.";
else
@@ -24709,7 +24720,7 @@ Index: libffi/configure
???[sx]*):;;*)false;;esac;fi
'\'' sh
'
@@ -13175,19 +15297,13 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr
@@ -13183,19 +15307,13 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr
exec 6>&1
@@ -24727,12 +24738,12 @@ Index: libffi/configure
ac_log="
-This file was extended by libffi $as_me 3.0.8, which was
-generated by GNU Autoconf 2.64. Invocation command line was
+This file was extended by libffi $as_me 3.0.9rc11, which was
+This file was extended by libffi $as_me 3.0.9rc12, which was
+generated by GNU Autoconf 2.63. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -13220,11 +15336,10 @@ _ACEOF
@@ -13228,11 +15346,10 @@ _ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
ac_cs_usage="\
@@ -24747,7 +24758,7 @@ Index: libffi/configure
-h, --help print this help, then exit
-V, --version print version number and configuration settings, then exit
@@ -13249,16 +15364,16 @@ $config_links
@@ -13257,16 +15374,16 @@ $config_links
Configuration commands:
$config_commands
@@ -24759,7 +24770,7 @@ Index: libffi/configure
ac_cs_version="\\
-libffi config.status 3.0.8
-configured by $0, generated by GNU Autoconf 2.64,
+libffi config.status 3.0.9rc11
+libffi config.status 3.0.9rc12
+configured by $0, generated by GNU Autoconf 2.63,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
@@ -24768,7 +24779,7 @@ Index: libffi/configure
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
@@ -13301,19 +15416,20 @@ do
@@ -13309,19 +15426,20 @@ do
case $ac_optarg in
*\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
@@ -24793,7 +24804,7 @@ Index: libffi/configure
--help | --hel | -h )
$as_echo "$ac_cs_usage"; exit ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
@@ -13321,10 +15437,11 @@ Try \`$0 --help' for more information.";
@@ -13329,10 +15447,11 @@ Try \`$0 --help' for more information.";
ac_cs_silent=: ;;
# This is an error.
@@ -24808,7 +24819,7 @@ Index: libffi/configure
ac_need_defaults=false ;;
esac
@@ -13365,20 +15482,6 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
@@ -13373,20 +15492,6 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
#
# INIT-COMMANDS
#
@@ -24829,7 +24840,7 @@ Index: libffi/configure
AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
@@ -13389,143 +15492,131 @@ AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac
@@ -13397,143 +15502,131 @@ AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac
sed_quote_subst='$sed_quote_subst'
double_quote_subst='$double_quote_subst'
delay_variable_subst='$delay_variable_subst'
@@ -25092,7 +25103,7 @@ Index: libffi/configure
GREP \
EGREP \
FGREP \
@@ -13549,6 +15640,8 @@ lt_cv_sys_global_symbol_pipe \
@@ -13557,6 +15650,8 @@ lt_cv_sys_global_symbol_pipe \
lt_cv_sys_global_symbol_to_cdecl \
lt_cv_sys_global_symbol_to_c_name_address \
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
@@ -25101,7 +25112,7 @@ Index: libffi/configure
lt_prog_compiler_no_builtin_flag \
lt_prog_compiler_wl \
lt_prog_compiler_pic \
@@ -13578,13 +15671,12 @@ variables_saved_for_relink \
@@ -13586,13 +15681,12 @@ variables_saved_for_relink \
libname_spec \
library_names_spec \
soname_spec \
@@ -25117,7 +25128,7 @@ Index: libffi/configure
;;
*)
eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -13611,9 +15703,9 @@ postuninstall_cmds \
@@ -13619,9 +15713,9 @@ postuninstall_cmds \
finish_cmds \
sys_lib_search_path_spec \
sys_lib_dlsearch_path_spec; do
@@ -25129,7 +25140,7 @@ Index: libffi/configure
;;
*)
eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -13621,6 +15713,12 @@ sys_lib_dlsearch_path_spec; do
@@ -13629,6 +15723,12 @@ sys_lib_dlsearch_path_spec; do
esac
done
@@ -25142,7 +25153,7 @@ Index: libffi/configure
ac_aux_dir='$ac_aux_dir'
xsi_shell='$xsi_shell'
lt_shell_append='$lt_shell_append'
@@ -13651,7 +15749,6 @@ for ac_config_target in $ac_config_targe
@@ -13659,7 +15759,6 @@ for ac_config_target in $ac_config_targe
do
case $ac_config_target in
"fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
@@ -25150,7 +25161,7 @@ Index: libffi/configure
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
"libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
"include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
@@ -13662,8 +15759,11 @@ do
@@ -13670,8 +15769,11 @@ do
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
"man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
@@ -25163,7 +25174,7 @@ Index: libffi/configure
esac
done
@@ -13691,7 +15791,7 @@ $debug ||
@@ -13699,7 +15801,7 @@ $debug ||
trap 'exit_status=$?
{ test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
' 0
@@ -25172,7 +25183,7 @@ Index: libffi/configure
}
# Create a (secure) tmp directory for tmp files.
@@ -13702,7 +15802,11 @@ $debug ||
@@ -13710,7 +15812,11 @@ $debug ||
{
tmp=./conf$$-$RANDOM
(umask 077 && mkdir "$tmp")
@@ -25185,7 +25196,7 @@ Index: libffi/configure
# Set up the scripts for CONFIG_FILES section.
# No need to generate them if there are no CONFIG_FILES.
@@ -13710,16 +15814,10 @@ $debug ||
@@ -13718,16 +15824,10 @@ $debug ||
if test -n "$CONFIG_FILES"; then
@@ -25204,7 +25215,7 @@ Index: libffi/configure
else
ac_cs_awk_cr=$ac_cr
fi
@@ -13733,18 +15831,24 @@ _ACEOF
@@ -13741,18 +15841,24 @@ _ACEOF
echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
echo "_ACEOF"
} >conf$$subs.sh ||
@@ -25232,7 +25243,7 @@ Index: libffi/configure
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
@@ -13833,7 +15937,9 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
@@ -13841,7 +15947,9 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
else
cat
fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
@@ -25243,7 +25254,7 @@ Index: libffi/configure
_ACEOF
# VPATH may cause trouble with some makes, so we remove $(srcdir),
@@ -13874,7 +15980,9 @@ for ac_last_try in false false :; do
@@ -13882,7 +15990,9 @@ for ac_last_try in false false :; do
if test -z "$ac_t"; then
break
elif $ac_last_try; then
@@ -25254,7 +25265,7 @@ Index: libffi/configure
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
@@ -13959,7 +16067,9 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
@@ -13967,7 +16077,9 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
_ACAWK
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
@@ -25265,7 +25276,7 @@ Index: libffi/configure
fi # test -n "$CONFIG_HEADERS"
@@ -13972,7 +16082,9 @@ do
@@ -13980,7 +16092,9 @@ do
esac
case $ac_mode$ac_tag in
:[FHL]*:*);;
@@ -25276,7 +25287,7 @@ Index: libffi/configure
:[FH]-) ac_tag=-:-;;
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
esac
@@ -14000,10 +16112,12 @@ do
@@ -14008,10 +16122,12 @@ do
[\\/$]*) false;;
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
esac ||
@@ -25291,7 +25302,7 @@ Index: libffi/configure
done
# Let's still pretend it is `configure' which instantiates (i.e., don't
@@ -14014,7 +16128,7 @@ do
@@ -14022,7 +16138,7 @@ do
`' by configure.'
if test x"$ac_file" != x-; then
configure_input="$ac_file. $configure_input"
@@ -25300,7 +25311,7 @@ Index: libffi/configure
$as_echo "$as_me: creating $ac_file" >&6;}
fi
# Neutralize special characters interpreted by sed in replacement strings.
@@ -14027,7 +16141,9 @@ $as_echo "$as_me: creating $ac_file" >&6
@@ -14035,7 +16151,9 @@ $as_echo "$as_me: creating $ac_file" >&6
case $ac_tag in
*:-:* | *:-) cat >"$tmp/stdin" \
@@ -25311,7 +25322,7 @@ Index: libffi/configure
esac
;;
esac
@@ -14055,7 +16171,47 @@ $as_echo X"$ac_file" |
@@ -14063,7 +16181,47 @@ $as_echo X"$ac_file" |
q
}
s/.*/./; q'`
@@ -25360,7 +25371,7 @@ Index: libffi/configure
ac_builddir=.
case "$ac_dir" in
@@ -14112,6 +16268,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
@@ -14120,6 +16278,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
# If the template does not know about datarootdir, expand it.
# FIXME: This hack should be removed a few years after 2.60.
ac_datarootdir_hack=; ac_datarootdir_seen=
@@ -25368,7 +25379,7 @@ Index: libffi/configure
ac_sed_dataroot='
/datarootdir/ {
p
@@ -14121,11 +16278,12 @@ ac_sed_dataroot='
@@ -14129,11 +16288,12 @@ ac_sed_dataroot='
/@docdir@/p
/@infodir@/p
/@localedir@/p
@@ -25383,7 +25394,7 @@ Index: libffi/configure
$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
@@ -14135,7 +16293,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
@@ -14143,7 +16303,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
s&@infodir@&$infodir&g
s&@localedir@&$localedir&g
s&@mandir@&$mandir&g
@@ -25392,7 +25403,7 @@ Index: libffi/configure
esac
_ACEOF
@@ -14164,12 +16322,14 @@ s&@MKDIR_P@&$ac_MKDIR_P&;t t
@@ -14172,12 +16332,14 @@ s&@MKDIR_P@&$ac_MKDIR_P&;t t
$ac_datarootdir_hack
"
eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
@@ -25409,7 +25420,7 @@ Index: libffi/configure
which seems to be undefined. Please make sure it is defined." >&5
$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined." >&2;}
@@ -14179,7 +16339,9 @@ which seems to be undefined. Please mak
@@ -14187,7 +16349,9 @@ which seems to be undefined. Please mak
-) cat "$tmp/out" && rm -f "$tmp/out";;
*) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
esac \
@@ -25420,7 +25431,7 @@ Index: libffi/configure
;;
:H)
#
@@ -14190,19 +16352,25 @@ which seems to be undefined. Please mak
@@ -14198,19 +16362,25 @@ which seems to be undefined. Please mak
$as_echo "/* $configure_input */" \
&& eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
} >"$tmp/config.h" \
@@ -25450,7 +25461,7 @@ Index: libffi/configure
fi
# Compute "$ac_file"'s index in $config_headers.
_am_arg="$ac_file"
@@ -14252,11 +16420,13 @@ $as_echo X"$_am_arg" |
@@ -14260,11 +16430,13 @@ $as_echo X"$_am_arg" |
ac_source=$srcdir/$ac_source
fi
@@ -25466,7 +25477,7 @@ Index: libffi/configure
fi
rm -f "$ac_file"
@@ -14268,24 +16438,18 @@ $as_echo "$as_me: linking $ac_source to
@@ -14276,24 +16448,18 @@ $as_echo "$as_me: linking $ac_source to
ln -s "$ac_rel_source" "$ac_file" 2>/dev/null ||
ln "$ac_source" "$ac_file" 2>/dev/null ||
cp -p "$ac_source" "$ac_file" ||
@@ -25495,7 +25506,7 @@ Index: libffi/configure
"depfiles":C) test x"$AMDEP_TRUE" != x"" || {
# Autoconf 2.62 quotes --file arguments for eval, but not when files
# are listed without --file. Let's play safe and only enable the eval
@@ -14374,7 +16538,47 @@ $as_echo X"$file" |
@@ -14382,7 +16548,47 @@ $as_echo X"$file" |
q
}
s/.*/./; q'`
@@ -25544,7 +25555,7 @@ Index: libffi/configure
# echo "creating $dirpart/$file"
echo '# dummy' > "$dirpart/$file"
done
@@ -14402,7 +16606,7 @@ $as_echo X"$file" |
@@ -14410,7 +16616,7 @@ $as_echo X"$file" |
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -25553,7 +25564,7 @@ Index: libffi/configure
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
@@ -14450,12 +16654,6 @@ pic_mode=$pic_mode
@@ -14458,12 +16664,6 @@ pic_mode=$pic_mode
# Whether or not to optimize for fast installation.
fast_install=$enable_fast_install
@@ -25566,7 +25577,7 @@ Index: libffi/configure
# The host system.
host_alias=$host_alias
host=$host
@@ -14505,6 +16703,10 @@ SP2NL=$lt_lt_SP2NL
@@ -14513,6 +16713,10 @@ SP2NL=$lt_lt_SP2NL
# turn newlines into spaces.
NL2SP=$lt_lt_NL2SP
@@ -25577,7 +25588,7 @@ Index: libffi/configure
# An object symbol dumper.
OBJDUMP=$lt_OBJDUMP
@@ -14526,9 +16728,6 @@ RANLIB=$lt_RANLIB
@@ -14534,9 +16738,6 @@ RANLIB=$lt_RANLIB
old_postinstall_cmds=$lt_old_postinstall_cmds
old_postuninstall_cmds=$lt_old_postuninstall_cmds
@@ -25587,7 +25598,7 @@ Index: libffi/configure
# A C compiler.
LTCC=$lt_CC
@@ -14550,6 +16749,12 @@ global_symbol_to_c_name_address_lib_pref
@@ -14558,6 +16759,12 @@ global_symbol_to_c_name_address_lib_pref
# The name of the directory that contains temporary libtool files.
objdir=$objdir
@@ -25600,7 +25611,7 @@ Index: libffi/configure
# Used to examine libraries when file_magic_cmd begins with "file".
MAGIC_CMD=$MAGIC_CMD
@@ -14612,9 +16817,6 @@ library_names_spec=$lt_library_names_spe
@@ -14620,9 +16827,6 @@ library_names_spec=$lt_library_names_spe
# The coded name of the library, if different from the real name.
soname_spec=$lt_soname_spec
@@ -25610,7 +25621,7 @@ Index: libffi/configure
# Command to use after installation of a shared archive.
postinstall_cmds=$lt_postinstall_cmds
@@ -14654,10 +16856,6 @@ striplib=$lt_striplib
@@ -14662,10 +16866,6 @@ striplib=$lt_striplib
# The linker used to build libraries.
LD=$lt_LD
@@ -25621,7 +25632,7 @@ Index: libffi/configure
# Commands used to build an old-style archive.
old_archive_cmds=$lt_old_archive_cmds
@@ -14917,7 +17115,7 @@ _LT_EOF
@@ -14925,7 +17125,7 @@ _LT_EOF
func_dirname ()
{
# Extract subdirectory from the argument.
@@ -25630,7 +25641,7 @@ Index: libffi/configure
if test "X$func_dirname_result" = "X${1}"; then
func_dirname_result="${3}"
else
@@ -14928,7 +17126,7 @@ func_dirname ()
@@ -14936,7 +17136,7 @@ func_dirname ()
# func_basename file
func_basename ()
{
@@ -25639,7 +25650,7 @@ Index: libffi/configure
}
@@ -14941,8 +17139,10 @@ func_basename ()
@@ -14949,8 +17149,10 @@ func_basename ()
func_stripname ()
{
case ${2} in
@@ -25652,7 +25663,7 @@ Index: libffi/configure
esac
}
@@ -14953,20 +17153,20 @@ my_sed_long_arg='1s/^-[^=]*=//'
@@ -14961,20 +17163,20 @@ my_sed_long_arg='1s/^-[^=]*=//'
# func_opt_split
func_opt_split ()
{
@@ -25677,7 +25688,7 @@ Index: libffi/configure
}
# func_arith arithmetic-term...
@@ -15030,12 +17230,15 @@ test -d src/$TARGETDIR || mkdir src/$TAR
@@ -15038,12 +17240,15 @@ test -d src/$TARGETDIR || mkdir src/$TAR
done # for ac_tag
@@ -25695,7 +25706,7 @@ Index: libffi/configure
# configure is writing to config.log, and then calls config.status.
@@ -15056,10 +17259,10 @@ if test "$no_create" != yes; then
@@ -15064,10 +17269,10 @@ if test "$no_create" != yes; then
exec 5>>config.log
# Use ||, not &&, to avoid exiting from the if with $? = 1, which
# would make configure fail if this is the last instruction.
@@ -25719,7 +25730,7 @@ Index: libffi/configure.ac
+AC_PREREQ(2.63)
-AC_INIT([libffi], [3.0.8], [http://gcc.gnu.org/bugs.html])
+AC_INIT([libffi], [3.0.9rc11], [http://gcc.gnu.org/bugs.html])
+AC_INIT([libffi], [3.0.9rc12], [http://gcc.gnu.org/bugs.html])
AC_CONFIG_HEADERS([fficonfig.h])
-AM_ENABLE_MULTILIB(, ..)
@@ -25754,7 +25765,7 @@ Index: libffi/configure.ac
;;
avr32*-*-*)
@@ -386,6 +389,6 @@ test -d src/$TARGETDIR || mkdir src/$TAR
@@ -394,6 +397,6 @@ test -d src/$TARGETDIR || mkdir src/$TAR
AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
@@ -26378,7 +26389,7 @@ Index: libffi/include/Makefile.in
CONFIG_HEADER = $(top_builddir)/fficonfig.h
CONFIG_CLEAN_FILES = ffi.h ffitarget.h
CONFIG_CLEAN_VPATH_FILES =
@@ -76,8 +70,8 @@ am__nobase_list = $(am__nobase_strip_set
@@ -76,14 +70,15 @@ am__nobase_list = $(am__nobase_strip_set
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
@@ -26389,7 +26400,14 @@ Index: libffi/include/Makefile.in
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -138,7 +132,6 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
+AM_LTLDFLAGS = @AM_LTLDFLAGS@
AM_RUNTESTFLAGS = @AM_RUNTESTFLAGS@
AR = @AR@
AUTOCONF = @AUTOCONF@
@@ -138,7 +133,6 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
@@ -26397,7 +26415,7 @@ Index: libffi/include/Makefile.in
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
@@ -185,9 +178,9 @@ libdir = @libdir@
@@ -185,9 +179,9 @@ libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
@@ -26408,7 +26426,7 @@ Index: libffi/include/Makefile.in
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
@@ -210,11 +203,8 @@ top_srcdir = @top_srcdir@
@@ -210,11 +204,8 @@ top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = foreign
DISTCLEANFILES = ffitarget.h
EXTRA_DIST = ffi.h.in ffi_common.h
@@ -26422,7 +26440,7 @@ Index: libffi/include/Makefile.in
all: all-am
.SUFFIXES:
@@ -256,26 +246,26 @@ mostlyclean-libtool:
@@ -256,26 +247,26 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
@@ -26458,7 +26476,7 @@ Index: libffi/include/Makefile.in
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -363,7 +353,7 @@ check-am: all-am
@@ -363,7 +354,7 @@ check-am: all-am
check: check-am
all-am: Makefile $(HEADERS)
installdirs:
@@ -26467,7 +26485,7 @@ Index: libffi/include/Makefile.in
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
@@ -412,7 +402,7 @@ info: info-am
@@ -412,7 +403,7 @@ info: info-am
info-am:
@@ -26476,7 +26494,7 @@ Index: libffi/include/Makefile.in
install-dvi: install-dvi-am
@@ -456,7 +446,7 @@ ps: ps-am
@@ -456,7 +447,7 @@ ps: ps-am
ps-am:
@@ -26485,7 +26503,7 @@ Index: libffi/include/Makefile.in
.MAKE: install-am install-strip
@@ -466,13 +456,12 @@ uninstall-am: uninstall-toollibffiHEADER
@@ -466,13 +457,12 @@ uninstall-am: uninstall-toollibffiHEADER
html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
@@ -35317,7 +35335,15 @@ Index: libffi/man/Makefile.in
CONFIG_HEADER = $(top_builddir)/fficonfig.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
@@ -136,7 +130,6 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -82,6 +76,7 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCE
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
+AM_LTLDFLAGS = @AM_LTLDFLAGS@
AM_RUNTESTFLAGS = @AM_RUNTESTFLAGS@
AR = @AR@
AUTOCONF = @AUTOCONF@
@@ -136,7 +131,6 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
@@ -35325,7 +35351,7 @@ Index: libffi/man/Makefile.in
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
@@ -183,9 +176,9 @@ libdir = @libdir@
@@ -183,9 +177,9 @@ libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
@@ -35931,7 +35957,15 @@ Index: libffi/testsuite/Makefile.in
CONFIG_HEADER = $(top_builddir)/fficonfig.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
@@ -113,7 +107,6 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -59,6 +53,7 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCE
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
+AM_LTLDFLAGS = @AM_LTLDFLAGS@
AM_RUNTESTFLAGS =
AR = @AR@
AUTOCONF = @AUTOCONF@
@@ -113,7 +108,6 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
@@ -35939,7 +35973,7 @@ Index: libffi/testsuite/Makefile.in
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
@@ -160,9 +153,9 @@ libdir = @libdir@
@@ -160,9 +154,9 @@ libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
@@ -35950,7 +35984,7 @@ Index: libffi/testsuite/Makefile.in
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
@@ -194,6 +187,70 @@ RUNTEST = `if [ -f $(top_srcdir)/../deja
@@ -194,6 +188,70 @@ RUNTEST = `if [ -f $(top_srcdir)/../deja
else echo runtest; fi`
CLEANFILES = *.exe core* *.log *.sum
@@ -43653,23 +43687,168 @@ Index: libffi/README
page for updates: <URL:http://sourceware.org/libffi/>.
@@ -166,6 +163,16 @@ arguments' test).
History
=======
@@ -42,41 +39,56 @@ between the two languages.
Supported Platforms
===================
+See the ChangeLog files for details.
-Libffi has been ported to many different platforms, although this
-release was only tested on:
-
- arm oabi linux
- arm eabi linux
- hppa linux
- mips o32 linux (little endian)
- powerpc darwin
- powerpc freebsd
- powerpc64 linux
- sparc solaris
- sparc64 freebsd
- sparc64 solaris
- x86 cygwin
- x86 darwin
- x86 freebsd
- x86 linux
- x86 openbsd
- x86 solaris
- x86-64 mingw
- x86-64 darwin
- x86-64 linux
- x86-64 OS X
- x86-64 freebsd
- x86-64 solaris
+Libffi has been ported to many different platforms.
+For specific configuration details and testing status, please
+refer to the wiki page here:
+
+ http://www.moxielogic.org/wiki/index.php?title=Libffi_3.0.9
+
+At the time of release, the following basic configurations have been
+tested:
+
+|--------------+------------------|
+| Architecture | Operating System |
+|--------------+------------------|
+| Alpha | Linux |
+| ARM | Linux |
+| AVR32 | Linux |
+| HPPA | HPUX |
+| IA-64 | Linux |
+| MIPS | IRIX |
+| MIPS | Linux |
+| MIPS64 | Linux |
+| PowerPC | Linux |
+| PowerPC | Mac OSX |
+| PowerPC | FreeBSD |
+| PowerPC64 | Linux |
+| S390 | Linux |
+| S390X | Linux |
+| SPARC | Linux |
+| SPARC | Solaris |
+| SPARC64 | Linux |
+| SPARC64 | FreeBSD |
+| X86 | FreeBSD |
+| X86 | kFreeBSD |
+| X86 | Linux |
+| X86 | Mac OSX |
+| X86 | OpenBSD |
+| X86 | Solaris |
+| X86 | Windows/Cygwin |
+| X86 | Windows/MingW |
+| X86-64 | FreeBSD |
+| X86-64 | Linux |
+| X86-64 | OpenBSD |
+|--------------+------------------|
Please send additional platform test results to
-libffi-discuss@sourceware.org.
+libffi-discuss@sourceware.org and feel free to update the wiki page
+above.
Installing libffi
=================
-[Note: before actually performing any of these installation steps,
- you may wish to read the "Platform Specific Notes" below.]
-
First you must configure the distribution for your particular
system. Go to the directory you wish to build libffi in and run the
"configure" program found in the root directory of the libffi source
@@ -106,65 +118,19 @@ This will require that you have DejaGNU
To install the library and header files, type "make install".
-Platform Specific Notes
-=======================
-
- MIPS - Irix 5.3 & 6.x
- ---------------------
-
-Irix 6.2 and better supports three different calling conventions: o32,
-n32 and n64. Currently, libffi only supports both o32 and n32 under
-Irix 6.x, but only o32 under Irix 5.3. Libffi will automatically be
-configured for whichever calling convention it was built for.
-
-By default, the configure script will try to build libffi with the GNU
-development tools. To build libffi with the SGI development tools, set
-the environment variable CC to either "cc -32" or "cc -n32" before
-running configure under Irix 6.x (depending on whether you want an o32
-or n32 library), or just "cc" for Irix 5.3.
-
-With the n32 calling convention, when returning structures smaller
-than 16 bytes, be sure to provide an RVALUE that is 8 byte aligned.
-Here's one way of forcing this:
-
- double struct_storage[2];
- my_small_struct *s = (my_small_struct *) struct_storage;
- /* Use s for RVALUE */
-
-If you don't do this you are liable to get spurious bus errors.
-
-"long long" values are not supported yet.
-
-You must use GNU Make to build libffi on SGI platforms.
-
-
- PowerPC System V ABI
- --------------------
-
-There are two `System V ABI's which libffi implements for PowerPC.
-They differ only in how small structures are returned from functions.
-
-In the FFI_SYSV version, structures that are 8 bytes or smaller are
-returned in registers. This is what GCC does when it is configured
-for solaris, and is what the System V ABI I have (dated September
-1995) says.
-
-In the FFI_GCC_SYSV version, all structures are returned the same way:
-by passing a pointer as the first argument to the function. This is
-what GCC does when it is configured for linux or a generic sysv
-target.
+History
+=======
-EGCS 1.0.1 (and probably other versions of EGCS/GCC) also has a
-inconsistency with the SysV ABI: When a procedure is called with many
-floating-point arguments, some of them get put on the stack. They are
-all supposed to be stored in double-precision format, even if they are
-only single-precision, but EGCS stores single-precision arguments as
-single-precision anyway. This causes one test to fail (the `many
-arguments' test).
+See the ChangeLog files for details.
+3.0.9 Dec-xx-09
+ Add AVR32 and win64 ports. Add ARM softfp support.
+ Many fixes for AIX, Solaris, HP-UX, *BSD.
+ Fix x86-64 closure bug.
+
+ Build DLL for windows.
-History
-=======
+3.0.8 Dec-19-08
+ Add *BSD, BeOS, and PA-Linux support.
+
3.0.7 Nov-11-08
Fix for ppc FreeBSD.
(thanks to Andreas Tobler)
Index: libffi/testsuite/Makefile.am
===================================================================
--- libffi.orig/testsuite/Makefile.am
+2 -2
View File
@@ -9,9 +9,9 @@ Index: libffi/ChangeLog.libffi
+ * configure: Rebuilt.
+ * fficonfig.h.in: Rebuilt.
+
2009-12-25 Carlo Bramini <carlo.bramix@libero.it>
2009-12-29 Kay Tietz <ktietz70@googlemail.com>
* configure.ac (AM_LTLDFLAGS): Define for windows hosts.
* testsuite/libffi.call/ffitest.h,
Index: libffi/configure
===================================================================
--- libffi.orig/configure
+41 -1
View File
@@ -2,7 +2,13 @@ Index: libffi/ChangeLog.libffi
===================================================================
--- libffi.orig/ChangeLog.libffi
+++ libffi/ChangeLog.libffi
@@ -1,3 +1,10 @@
@@ -1,3 +1,16 @@
+2009-12-29 Kay Tietz <ktietz70@googlemail.com>
+
+ * testsuite/libffi.call/ffitest.h,
+ testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
+ definitions.
+
+2009-12-25 Carlo Bramini <carlo.bramix@libero.it>
+
+ * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
@@ -197,3 +203,37 @@ Index: libffi/Makefile.in
AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
AM_CCASFLAGS = $(AM_CPPFLAGS)
all: fficonfig.h
Index: libffi/testsuite/libffi.call/ffitest.h
===================================================================
--- libffi.orig/testsuite/libffi.call/ffitest.h
+++ libffi/testsuite/libffi.call/ffitest.h
@@ -46,9 +46,9 @@
#endif
/* MinGW kludge. */
-#ifdef WIN64
-#define PRIdLL "PRId64"
-#define PRIuLL "PRIu64"
+#ifdef _WIN64
+#define PRIdLL "I64d"
+#define PRIuLL "I64u"
#else
#define PRIdLL "lld"
#define PRIuLL "llu"
Index: libffi/testsuite/libffi.special/ffitestcxx.h
===================================================================
--- libffi.orig/testsuite/libffi.special/ffitestcxx.h
+++ libffi/testsuite/libffi.special/ffitestcxx.h
@@ -45,9 +45,9 @@
/* MinGW kludge. */
-#ifdef WIN64
-#define PRIdLL "PRId64"
-#define PRIuLL "PRIu64"
+#ifdef _WIN64
+#define PRIdLL "I64d"
+#define PRIuLL "I64u"
#else
#define PRIdLL "lld"
#define PRIuLL "llu"