diff --git a/libffi/ChangeLog.libffi b/libffi/ChangeLog.libffi index 6ebdbaab..5621ca87 100644 --- a/libffi/ChangeLog.libffi +++ b/libffi/ChangeLog.libffi @@ -1,3 +1,20 @@ +2008-07-17 Anthony Green + + * configure.ac: Bump version to 3.0.6. + * configure, doc/stamp-vti, doc/version.texi: Rebuilt. + * libtool-version: Increment revision. Add documentation. + * README: Update for new release. + +2008-07-16 Kaz Kojima + + * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned + int. + +2008-07-16 Kaz Kojima + + * src/sh/sysv.S: Add .note.GNU-stack on Linux. + * src/sh64/sysv.S: Likewise. + 2008-04-03 Anthony Green * libffi.pc.in (Libs): Add -L${libdir}. diff --git a/libffi/README b/libffi/README index a936962f..b49c9848 100644 --- a/libffi/README +++ b/libffi/README @@ -1,7 +1,7 @@ Status ====== -libffi-3.0.5 was released on April 3, 2008. Check the libffi web +libffi-3.0.6 was released on July 17, 2008. Check the libffi web page for updates: . @@ -158,6 +158,11 @@ arguments' test). History ======= +3.0.6 Jul-17-08 + Fix for closures on sh. + Mark the sh/sh64 stack as non-executable. + (both thanks to Kaz Kojima) + 3.0.5 Apr-3-08 Fix libffi.pc file. Fix #define ARM for IcedTea users. diff --git a/libffi/configure b/libffi/configure index cc8963d5..f72ccaa1 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 3.0.5. +# Generated by GNU Autoconf 2.61 for libffi 3.0.6. # # Report bugs to . # @@ -728,8 +728,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='libffi' PACKAGE_TARNAME='libffi' -PACKAGE_VERSION='3.0.5' -PACKAGE_STRING='libffi 3.0.5' +PACKAGE_VERSION='3.0.6' +PACKAGE_STRING='libffi 3.0.6' PACKAGE_BUGREPORT='http://gcc.gnu.org/bugs.html' # Factoring default headers for most tests. @@ -1459,7 +1459,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 3.0.5 to adapt to many kinds of systems. +\`configure' configures libffi 3.0.6 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1530,7 +1530,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libffi 3.0.5:";; + short | recursive ) echo "Configuration of libffi 3.0.6:";; esac cat <<\_ACEOF @@ -1640,7 +1640,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libffi configure 3.0.5 +libffi configure 3.0.6 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1654,7 +1654,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 3.0.5, which was +It was created by libffi $as_me 3.0.6, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ @@ -2477,7 +2477,7 @@ fi # Define the identity of the package. PACKAGE='libffi' - VERSION='3.0.5' + VERSION='3.0.6' cat >>confdefs.h <<_ACEOF @@ -23321,7 +23321,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 3.0.5, which was +This file was extended by libffi $as_me 3.0.6, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -23378,7 +23378,7 @@ Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -libffi config.status 3.0.5 +libffi config.status 3.0.6 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 3eac92d7..40b383ca 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], [3.0.5], [http://gcc.gnu.org/bugs.html]) +AC_INIT([libffi], [3.0.6], [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 3768fae2..48beaf94 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 3.0.5 -@set VERSION 3.0.5 +@set EDITION 3.0.6 +@set VERSION 3.0.6 diff --git a/libffi/doc/version.texi b/libffi/doc/version.texi index 3768fae2..48beaf94 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 3.0.5 -@set VERSION 3.0.5 +@set EDITION 3.0.6 +@set VERSION 3.0.6 diff --git a/libffi/libtool-version b/libffi/libtool-version index 55aa09c8..d300d254 100644 --- a/libffi/libtool-version +++ b/libffi/libtool-version @@ -2,5 +2,28 @@ # the libtool manual to understand the meaning of the fields. This is # a separate file so that version updates don't involve re-running # automake. +# +# Here are a set of rules to help you update your library version +# information: +# +# 1. Start with version information of `0:0:0' for each libtool library. +# +# 2. Update the version information only immediately before a public +# release of your software. More frequent updates are unnecessary, +# and only guarantee that the current interface number gets larger +# faster. +# +# 3. If the library source code has changed at all since the last +# update, then increment revision (`c:r:a' becomes `c:r+1:a'). +# +# 4. If any interfaces have been added, removed, or changed since the +# last update, increment current, and set revision to 0. +# +# 5. If any interfaces have been added since the last public release, +# then increment age. +# +# 6. If any interfaces have been removed since the last public +# release, then set age to 0. +# # CURRENT:REVISION:AGE -5:6:0 +5:7:0 diff --git a/libffi/src/sh/ffi.c b/libffi/src/sh/ffi.c index d7fa1d4e..69bd025f 100644 --- a/libffi/src/sh/ffi.c +++ b/libffi/src/sh/ffi.c @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------- - ffi.c - Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007 Kaz Kojima + ffi.c - Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Kaz Kojima Copyright (c) 2008 Red Hat, Inc. SuperH Foreign Function Interface @@ -461,7 +461,7 @@ ffi_prep_closure_loc (ffi_closure* closure, void *codeloc) { unsigned int *tramp; - unsigned short insn; + unsigned int insn; FFI_ASSERT (cif->abi == FFI_GCC_SYSV); diff --git a/libffi/src/sh/sysv.S b/libffi/src/sh/sysv.S index ea798f70..ac04e2a3 100644 --- a/libffi/src/sh/sysv.S +++ b/libffi/src/sh/sysv.S @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------- - sysv.S - Copyright (c) 2002, 2003, 2004, 2006 Kaz Kojima + sysv.S - Copyright (c) 2002, 2003, 2004, 2006, 2008 Kaz Kojima SuperH Foreign Function Interface @@ -702,6 +702,10 @@ L_case_v: .ffi_closure_SYSV_end: .size CNAME(ffi_closure_SYSV),.ffi_closure_SYSV_end-CNAME(ffi_closure_SYSV) +#if defined __ELF__ && defined __linux__ + .section .note.GNU-stack,"",@progbits +#endif + .section ".eh_frame","aw",@progbits __FRAME_BEGIN__: .4byte .LECIE1-.LSCIE1 /* Length of Common Information Entry */ diff --git a/libffi/src/sh64/sysv.S b/libffi/src/sh64/sysv.S index b6a248d9..6dcef571 100644 --- a/libffi/src/sh64/sysv.S +++ b/libffi/src/sh64/sysv.S @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------- - sysv.S - Copyright (c) 2003, 2004 Kaz Kojima + sysv.S - Copyright (c) 2003, 2004, 2008 Kaz Kojima SuperH SHmedia Foreign Function Interface @@ -430,6 +430,10 @@ ENTRY(ffi_closure_SYSV) .ffi_closure_SYSV_end: .size CNAME(ffi_closure_SYSV),.ffi_closure_SYSV_end-CNAME(ffi_closure_SYSV) +#if defined __ELF__ && defined __linux__ + .section .note.GNU-stack,"",@progbits +#endif + .section ".eh_frame","aw",@progbits __FRAME_BEGIN__: .4byte .LECIE1-.LSCIE1 /* Length of Common Information Entry */