diff --git a/libffi/ChangeLog.libffi b/libffi/ChangeLog.libffi index cfc890b6..3243fb09 100644 --- a/libffi/ChangeLog.libffi +++ b/libffi/ChangeLog.libffi @@ -1,3 +1,15 @@ +2008-02-15 Anthony Green + + * configure.ac: Bump version to 3.0.0, + * configure, doc/stamp-vti, doc/version.texi: Rebuilt. + +2008-02-15 David Daney + + * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE): + Define (conditionally), and use it to include cachectl.h. + (ffi_prep_closure_loc): Fix cache flushing. + * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define. + 2008-02-15 Anthony Green * man/ffi_call.3, man/ffi_prep_cif.3, man/ffi.3: diff --git a/libffi/configure b/libffi/configure index 81fb63fe..803bbf60 100755 --- a/libffi/configure +++ b/libffi/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.61 for libffi 2.99.9. +# Generated by GNU Autoconf 2.61 for libffi 3.0.0. # # Report bugs to . # @@ -728,8 +728,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='libffi' PACKAGE_TARNAME='libffi' -PACKAGE_VERSION='2.99.9' -PACKAGE_STRING='libffi 2.99.9' +PACKAGE_VERSION='3.0.0' +PACKAGE_STRING='libffi 3.0.0' PACKAGE_BUGREPORT='http://gcc.gnu.org/bugs.html' # Factoring default headers for most tests. @@ -1457,7 +1457,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures libffi 2.99.9 to adapt to many kinds of systems. +\`configure' configures libffi 3.0.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1528,7 +1528,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libffi 2.99.9:";; + short | recursive ) echo "Configuration of libffi 3.0.0:";; esac cat <<\_ACEOF @@ -1638,7 +1638,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libffi configure 2.99.9 +libffi configure 3.0.0 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1652,7 +1652,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libffi $as_me 2.99.9, which was +It was created by libffi $as_me 3.0.0, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ @@ -2475,7 +2475,7 @@ fi # Define the identity of the package. PACKAGE='libffi' - VERSION='2.99.9' + VERSION='3.0.0' cat >>confdefs.h <<_ACEOF @@ -23297,7 +23297,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by libffi $as_me 2.99.9, which was +This file was extended by libffi $as_me 3.0.0, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -23354,7 +23354,7 @@ Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -libffi config.status 2.99.9 +libffi config.status 3.0.0 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/libffi/configure.ac b/libffi/configure.ac index 060cf2f5..a6fc6519 100644 --- a/libffi/configure.ac +++ b/libffi/configure.ac @@ -2,7 +2,7 @@ dnl Process this with autoconf to create configure AC_PREREQ(2.59) -AC_INIT([libffi], [2.99.9], [http://gcc.gnu.org/bugs.html]) +AC_INIT([libffi], [3.0.0], [http://gcc.gnu.org/bugs.html]) AC_CONFIG_HEADERS([fficonfig.h]) AC_CANONICAL_SYSTEM diff --git a/libffi/doc/stamp-vti b/libffi/doc/stamp-vti index 6a739c04..ad18d190 100644 --- a/libffi/doc/stamp-vti +++ b/libffi/doc/stamp-vti @@ -1,4 +1,4 @@ @set UPDATED 14 February 2008 @set UPDATED-MONTH February 2008 -@set EDITION 2.99.9 -@set VERSION 2.99.9 +@set EDITION 3.0.0 +@set VERSION 3.0.0 diff --git a/libffi/doc/version.texi b/libffi/doc/version.texi index 6a739c04..ad18d190 100644 --- a/libffi/doc/version.texi +++ b/libffi/doc/version.texi @@ -1,4 +1,4 @@ @set UPDATED 14 February 2008 @set UPDATED-MONTH February 2008 -@set EDITION 2.99.9 -@set VERSION 2.99.9 +@set EDITION 3.0.0 +@set VERSION 3.0.0 diff --git a/libffi/src/mips/ffi.c b/libffi/src/mips/ffi.c index f21182b2..5b9d3613 100644 --- a/libffi/src/mips/ffi.c +++ b/libffi/src/mips/ffi.c @@ -29,6 +29,16 @@ #include +#ifdef __GNUC__ +# if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)) +# define USE__BUILTIN___CLEAR_CACHE 1 +# endif +#endif + +#ifndef USE__BUILTIN___CLEAR_CACHE +#include > +#endif + #ifdef FFI_DEBUG # define FFI_MIPS_STOP_HERE() ffi_stop_here() #else @@ -616,8 +626,11 @@ ffi_prep_closure_loc (ffi_closure *closure, closure->fun = fun; closure->user_data = user_data; +#ifdef USE__BUILTIN___CLEAR_CACHE __builtin___clear_cache(clear_location, clear_location + FFI_TRAMPOLINE_SIZE); - +#else + cacheflush (tramp, FFI_TRAMPOLINE_SIZE, ICACHE); +#endif return FFI_OK; } diff --git a/libffi/src/mips/ffitarget.h b/libffi/src/mips/ffitarget.h index bbc95c34..214afe46 100644 --- a/libffi/src/mips/ffitarget.h +++ b/libffi/src/mips/ffitarget.h @@ -27,6 +27,19 @@ #ifndef LIBFFI_TARGET_H #define LIBFFI_TARGET_H +#ifdef linux +#include +# ifndef _ABIN32 +# define _ABIN32 _MIPS_SIM_NABI32 +# endif +# ifndef _ABI64 +# define _ABI64 _MIPS_SIM_ABI64 +# endif +# ifndef _ABIO32 +# define _ABIO32 _MIPS_SIM_ABI32 +# endif +#endif + #if !defined(_MIPS_SIM) -- something is very wrong -- #else