diff --git a/dev-libs/libffi/Manifest b/dev-libs/libffi/Manifest
index a1b39fa..e098a56 100644
--- a/dev-libs/libffi/Manifest
+++ b/dev-libs/libffi/Manifest
@@ -1 +1 @@
-DIST libffi-3.0.11.tar.gz 794220 SHA256 70bfb01356360089aa97d3e71e3edf05d195599fd822e922e50d46a0055a6283 SHA512 0049388d16207078a3d6dce97c877f1d9647aa9d908a9372a3f67ca064b70d8c8b23ee458be4a15a6344a5d39ea3e6292be728dfbcc73e1efc0b1db03be874f3 WHIRLPOOL c5ee01a6415b2715a4542d0997e3a7f42cbc97e476589d4e093fcff44315cc83f78a02dc04929c96831309966ac196e6ceb134c8b14cfc02313e139a98e6c11a
+DIST libffi-3.1.tar.gz 937214 SHA256 97feeeadca5e21870fa4433bc953d1b3af3f698d5df8a428f68b73cd60aef6eb SHA512 8994973d75facf5ad928c270e17b1a56e24d1543af75b93731a0048e747df27e4190a736b6dc2dca7d43de1d7e88891220304802c10fcccdcebee9c9ffd3d1b9 WHIRLPOOL 19c08cffd39c998fcd762b1e3767b4fd86915427226833411302bebd2d5bcf93d515e6df4a4cab11327595d3966e46442e457fbe09ae986b58bdfb2bb6adb913
diff --git a/dev-libs/libffi/files/libffi-3.0.11-x86-pic-check.patch b/dev-libs/libffi/files/libffi-3.0.11-x86-pic-check.patch
deleted file mode 100644
index 40f5532..0000000
--- a/dev-libs/libffi/files/libffi-3.0.11-x86-pic-check.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-https://bugs.gentoo.org/417179
-https://github.com/atgreen/libffi/issues/21
-
-From bff052d9cd5be41ba9e47c76114054af487d3c30 Mon Sep 17 00:00:00 2001
-From: Anthony Green <green@moxielogic.com>
-Date: Fri, 11 Jan 2013 10:24:32 -0500
-Subject: [PATCH] 32-bit x86 fix and more
-
----
- ChangeLog          |    8 ++++++++
- README             |    2 ++
- configure          |   43 +++++--------------------------------------
- configure.ac       |    6 +++---
- m4/ax_cc_maxopt.m4 |    3 ++-
- 5 files changed, 20 insertions(+), 42 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 5ca32fd..32ec7c5 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -334,10 +334,10 @@ fi
- if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
-     AC_CACHE_CHECK([assembler supports pc related relocs],
- 	libffi_cv_as_x86_pcrel, [
--	libffi_cv_as_x86_pcrel=yes
-+	libffi_cv_as_x86_pcrel=no
- 	echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
--	if $CC $CFLAGS -c conftest.s 2>&1 | $EGREP -i 'illegal|warning' > /dev/null; then
--	    libffi_cv_as_x86_pcrel=no
-+	if $CC $CFLAGS -c conftest.s > /dev/null 2>&1; then
-+	    libffi_cv_as_x86_pcrel=yes
- 	fi
- 	])
-     if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-diff --git a/m4/ax_cc_maxopt.m4 b/m4/ax_cc_maxopt.m4
-index f5f7517..62e3b53 100644
---- a/m4/ax_cc_maxopt.m4
-+++ b/m4/ax_cc_maxopt.m4
-@@ -141,7 +141,8 @@ if test "$ac_test_CFLAGS" != "set"; then
-      CFLAGS="-O3 -fomit-frame-pointer"
- 
-      # -malign-double for x86 systems
--     AX_CHECK_COMPILE_FLAG(-malign-double, CFLAGS="$CFLAGS -malign-double")
-+     # LIBFFI -- DON'T DO THIS - CHANGES ABI
-+     # AX_CHECK_COMPILE_FLAG(-malign-double, CFLAGS="$CFLAGS -malign-double")
- 
-      #  -fstrict-aliasing for gcc-2.95+
-      AX_CHECK_COMPILE_FLAG(-fstrict-aliasing,
-diff --git a/configure b/configure
-index 95d950b..41bde69 100755
---- a/configure
-+++ b/configure
-@@ -12426,41 +12426,8 @@ $as_echo "$icc_archflag" >&6; }
-      CFLAGS="-O3 -fomit-frame-pointer"
- 
-      # -malign-double for x86 systems
--     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -malign-double" >&5
--$as_echo_n "checking whether C compiler accepts -malign-double... " >&6; }
--if ${ax_cv_check_cflags___malign_double+:} false; then :
--  $as_echo_n "(cached) " >&6
--else
--
--  ax_check_save_flags=$CFLAGS
--  CFLAGS="$CFLAGS  -malign-double"
--  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
--/* end confdefs.h.  */
--
--int
--main ()
--{
--
--  ;
--  return 0;
--}
--_ACEOF
--if ac_fn_c_try_compile "$LINENO"; then :
--  ax_cv_check_cflags___malign_double=yes
--else
--  ax_cv_check_cflags___malign_double=no
--fi
--rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
--  CFLAGS=$ax_check_save_flags
--fi
--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___malign_double" >&5
--$as_echo "$ax_cv_check_cflags___malign_double" >&6; }
--if test x"$ax_cv_check_cflags___malign_double" = xyes; then :
--  CFLAGS="$CFLAGS -malign-double"
--else
--  :
--fi
--
-+     # LIBFFI -- DON'T DO THIS - CHANGES ABI
-+     # AX_CHECK_COMPILE_FLAG(-malign-double, CFLAGS="$CFLAGS -malign-double")
- 
-      #  -fstrict-aliasing for gcc-2.95+
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fstrict-aliasing" >&5
-@@ -14480,10 +14447,10 @@ if ${libffi_cv_as_x86_pcrel+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
- 
--	libffi_cv_as_x86_pcrel=yes
-+	libffi_cv_as_x86_pcrel=no
- 	echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
--	if $CC $CFLAGS -c conftest.s 2>&1 | $EGREP -i 'illegal|warning' > /dev/null; then
--	    libffi_cv_as_x86_pcrel=no
-+	if $CC $CFLAGS -c conftest.s > /dev/null 2>&1; then
-+	    libffi_cv_as_x86_pcrel=yes
- 	fi
- 
- fi
--- 
-1.7.10
-
diff --git a/dev-libs/libffi/files/libffi-3.0.13-emutramp_pax_proc.patch b/dev-libs/libffi/files/libffi-3.0.13-emutramp_pax_proc.patch
new file mode 100644
index 0000000..c27bd9b
--- /dev/null
+++ b/dev-libs/libffi/files/libffi-3.0.13-emutramp_pax_proc.patch
@@ -0,0 +1,37 @@
+2013-05-22  Magnus Granberg  <zorry@gentoo.org>
+
+	#457194
+	* src/closuer.c (emutramp_enabled_check): Check with /proc.
+
+--- a/src/closures.c	2013-03-17 23:27:11.000000000 +0100
++++ b/src/closures.c	2013-04-29 23:26:02.279022022 +0200
+@@ -181,10 +181,26 @@ static int emutramp_enabled = -1;
+ static int
+ emutramp_enabled_check (void)
+ {
+-  if (getenv ("FFI_DISABLE_EMUTRAMP") == NULL)
+-    return 1;
+-  else
++  char *buf = NULL;
++  size_t len = 0;
++  FILE *f;
++  int ret;
++  f = fopen ("/proc/self/status", "r");
++  if (f == NULL)
+     return 0;
++  ret = 0;
++
++  while (getline (&buf, &len, f) != -1)
++    if (!strncmp (buf, "PaX:", 4))
++      {
++        char emutramp;
++        if (sscanf (buf, "%*s %*c%c", &emutramp) == 1)
++          ret = (emutramp == 'E');
++        break;
++      }
++  free (buf);
++  fclose (f);
++  return ret;
+ }
+ 
+ #define is_emutramp_enabled() (emutramp_enabled >= 0 ? emutramp_enabled \
diff --git a/dev-libs/libffi/files/libffi-3.1-execstack.patch b/dev-libs/libffi/files/libffi-3.1-execstack.patch
new file mode 100644
index 0000000..6884a47
--- /dev/null
+++ b/dev-libs/libffi/files/libffi-3.1-execstack.patch
@@ -0,0 +1,12 @@
+http://bugs.gentoo.org/511634
+http://sourceware.org/ml/libffi-discuss/2014/msg00058.html
+
+--- src/x86/win32.S
++++ src/x86/win32.S
+@@ -1304,3 +1304,6 @@
+ 
+ #endif /* !_MSC_VER */
+ 
++#if defined __ELF__ && defined __linux__
++	.section        .note.GNU-stack,"",@progbits
++#endif
diff --git a/dev-libs/libffi/files/libffi-3.1-typing_error.patch b/dev-libs/libffi/files/libffi-3.1-typing_error.patch
new file mode 100644
index 0000000..fc24006
--- /dev/null
+++ b/dev-libs/libffi/files/libffi-3.1-typing_error.patch
@@ -0,0 +1,14 @@
+http://bugs.gentoo.org/511752
+http://sourceware.org/ml/libffi-discuss/2014/msg00059.html
+
+--- include/ffi.h.in
++++ include/ffi.h.in
+@@ -221,7 +221,7 @@ typedef struct {
+ #endif
+ } ffi_cif;
+ 
+-#if HAVE_LONG_DOUBLE_VARIANT
++#if @HAVE_LONG_DOUBLE_VARIANT@
+ /* Used to adjust size/alignment of ffi types.  */
+ void ffi_prep_types (ffi_abi abi);
+ # endif
diff --git a/dev-libs/libffi/libffi-3.0.11.ebuild b/dev-libs/libffi/libffi-3.0.11.ebuild
deleted file mode 100644
index c6fce4e..0000000
--- a/dev-libs/libffi/libffi-3.0.11.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/libffi/libffi-3.0.11.ebuild,v 1.20 2013/03/28 23:48:12 vapier Exp $
-
-EAPI=4
-
-MY_P=${P/_/-}
-
-inherit eutils libtool multilib toolchain-funcs
-
-DESCRIPTION="a portable, high level programming interface to various calling conventions."
-HOMEPAGE="http://sourceware.org/libffi/"
-SRC_URI="ftp://sourceware.org/pub/${PN}/${MY_P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="*"
-IUSE="debug static-libs test"
-
-RDEPEND=""
-DEPEND="test? ( dev-util/dejagnu )"
-
-S=${WORKDIR}/${MY_P}
-
-DOCS="ChangeLog* README"
-
-pkg_setup() {
-	# Check for orphaned libffi, see http://bugs.gentoo.org/354903 for example
-	if [[ ${ROOT} == "/" && ${EPREFIX} == "" ]] && ! has_version ${CATEGORY}/${PN}; then
-		local base="${T}"/conftest
-		echo 'int main() { }' > "${base}".c
-		$(tc-getCC) -o "${base}" "${base}".c -lffi >&/dev/null
-		if [ $? -eq 0 ]; then
-			eerror "The linker reported linking against -lffi to be working while it shouldn't have."
-			eerror "This is wrong and you should find and delete the old copy of libffi before continuing."
-			die "The system is in inconsistent state with unknown libffi installed."
-		fi
-	fi
-}
-
-src_prepare() {
-	epatch "${FILESDIR}"/${P}-x86-pic-check.patch #417179
-	sed -i 's:@toolexeclibdir@:$(libdir):g' Makefile.in || die #462814
-	epatch_user
-	elibtoolize
-}
-
-src_configure() {
-	use userland_BSD && export HOST="${CHOST}"
-	econf \
-		$(use_enable static-libs static) \
-		$(use_enable debug)
-}
-
-src_install() {
-	default
-	rm -f "${ED}"/usr/lib*/lib*.la
-}
-
-pkg_preinst() {
-	preserve_old_lib /usr/$(get_libdir)/${PN}$(get_libname 5)
-}
-
-pkg_postinst() {
-	preserve_old_lib_notify /usr/$(get_libdir)/${PN}$(get_libname 5)
-}
diff --git a/dev-libs/libffi/libffi-3.1-r3.ebuild b/dev-libs/libffi/libffi-3.1-r3.ebuild
new file mode 100644
index 0000000..d90ba72
--- /dev/null
+++ b/dev-libs/libffi/libffi-3.1-r3.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/libffi/libffi-3.1-r3.ebuild,v 1.2 2014/08/10 20:35:34 slyfox Exp $
+
+EAPI=5
+inherit eutils libtool multilib multilib-minimal toolchain-funcs
+
+DESCRIPTION="a portable, high level programming interface to various calling conventions"
+HOMEPAGE="http://sourceware.org/libffi/"
+SRC_URI="ftp://sourceware.org/pub/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="*"
+IUSE="debug pax_kernel static-libs test"
+
+RDEPEND="abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r1
+		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
+DEPEND="test? ( dev-util/dejagnu )"
+
+DOCS="ChangeLog* README"
+
+ECONF_SOURCE=${S}
+
+pkg_setup() {
+	# Check for orphaned libffi, see http://bugs.gentoo.org/354903 for example
+	if [[ ${ROOT} == "/" && ${EPREFIX} == "" ]] && ! has_version ${CATEGORY}/${PN}; then
+		local base="${T}"/conftest
+		echo 'int main() { }' > "${base}".c
+		$(tc-getCC) -o "${base}" "${base}".c -lffi >&/dev/null
+		if [ $? -eq 0 ]; then
+			eerror "The linker reported linking against -lffi to be working while it shouldn't have."
+			eerror "This is wrong and you should find and delete the old copy of libffi before continuing."
+			die "The system is in inconsistent state with unknown libffi installed."
+		fi
+	fi
+}
+
+src_prepare() {
+	epatch \
+		"${FILESDIR}"/${P}-execstack.patch \
+		"${FILESDIR}"/${P}-typing_error.patch
+
+	sed -i -e 's:@toolexeclibdir@:$(libdir):g' Makefile.in || die #462814
+	# http://sourceware.org/ml/libffi-discuss/2014/msg00060.html
+	sed -i -e 's:@toolexeclibdir@:${libdir}:' libffi.pc.in || die #511726
+
+	epatch_user
+	elibtoolize
+}
+
+multilib_src_configure() {
+	use userland_BSD && export HOST="${CHOST}"
+	econf \
+		$(use_enable static-libs static) \
+		$(use_enable pax_kernel pax_emutramp) \
+		$(use_enable debug)
+}
+
+multilib_src_install_all() {
+	prune_libtool_files
+	einstalldocs
+}
diff --git a/metadata/md5-cache/dev-libs/libffi-3.0.11 b/metadata/md5-cache/dev-libs/libffi-3.0.11
deleted file mode 100644
index d677027..0000000
--- a/metadata/md5-cache/dev-libs/libffi-3.0.11
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=configure install postinst preinst prepare setup
-DEPEND=test? ( dev-util/dejagnu )
-DESCRIPTION=a portable, high level programming interface to various calling conventions.
-EAPI=4
-HOMEPAGE=http://sourceware.org/libffi/
-IUSE=debug static-libs test
-KEYWORDS=*
-LICENSE=MIT
-SLOT=0
-SRC_URI=ftp://sourceware.org/pub/libffi/libffi-3.0.11.tar.gz
-_eclasses_=eutils	a108f00cccac414097bcbbbb5de01762	libtool	eba09ed440f2692f73024ff3621a1f4b	multilib	3bf24e6abb9b76d9f6c20600f0b716bf	toolchain-funcs	48b38a216afb92db6314d6c3187abea3
-_md5_=be8534096b02567030e6ec5934335ded
diff --git a/metadata/md5-cache/dev-libs/libffi-3.1-r3 b/metadata/md5-cache/dev-libs/libffi-3.1-r3
new file mode 100644
index 0000000..86caf81
--- /dev/null
+++ b/metadata/md5-cache/dev-libs/libffi-3.1-r3
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure install prepare setup test
+DEPEND=test? ( dev-util/dejagnu )
+DESCRIPTION=a portable, high level programming interface to various calling conventions
+EAPI=5
+HOMEPAGE=http://sourceware.org/libffi/
+IUSE=debug pax_kernel static-libs test abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r1 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )
+SLOT=0
+SRC_URI=ftp://sourceware.org/pub/libffi/libffi-3.1.tar.gz
+_eclasses_=eutils	a108f00cccac414097bcbbbb5de01762	libtool	eba09ed440f2692f73024ff3621a1f4b	multibuild	46527a4656956da3d58acff72c9b59b1	multilib	3bf24e6abb9b76d9f6c20600f0b716bf	multilib-build	9eb4b5fb858228316d8bb32ada51f6a5	multilib-minimal	5bbdc77877c1aa3c6bd89ca3f9196d11	multiprocessing	d7f2985a2c76c365ee20269db5261414	toolchain-funcs	48b38a216afb92db6314d6c3187abea3
+_md5_=605ccdf0de7b0ba65f20df7942410f82
