summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaúl Porcel <armin76@gentoo.org>2009-12-10 17:19:26 +0000
committerRaúl Porcel <armin76@gentoo.org>2009-12-10 17:19:26 +0000
commiteca4816027890c90610db9d70ce5e10eaaef9b97 (patch)
treef5971771596e2f6dd74bd571961560707e7fb1d9 /dev-libs
parentx86 stable, bug 292455 (diff)
downloadgentoo-2-eca4816027890c90610db9d70ce5e10eaaef9b97.tar.gz
gentoo-2-eca4816027890c90610db9d70ce5e10eaaef9b97.tar.bz2
gentoo-2-eca4816027890c90610db9d70ce5e10eaaef9b97.zip
Steal patch from debian to make it compile on armv6/armv7
(Portage version: 2.1.6.13/cvs/Linux i686)
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/libffi/ChangeLog6
-rw-r--r--dev-libs/libffi/files/libffi-3.0.8-arm.patch80
-rw-r--r--dev-libs/libffi/libffi-3.0.8.ebuild5
3 files changed, 88 insertions, 3 deletions
diff --git a/dev-libs/libffi/ChangeLog b/dev-libs/libffi/ChangeLog
index 1c22a80b8846..74a13d134176 100644
--- a/dev-libs/libffi/ChangeLog
+++ b/dev-libs/libffi/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for dev-libs/libffi
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/libffi/ChangeLog,v 1.85 2009/10/30 12:57:10 ssuominen Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/libffi/ChangeLog,v 1.86 2009/12/10 17:19:26 armin76 Exp $
+
+ 10 Dec 2009; Raúl Porcel <armin76@gentoo.org> libffi-3.0.8.ebuild,
+ +files/libffi-3.0.8-arm.patch:
+ Steal patch from debian to make it compile on armv6/armv7
*libffi-3.0.9_rc3 (30 Oct 2009)
diff --git a/dev-libs/libffi/files/libffi-3.0.8-arm.patch b/dev-libs/libffi/files/libffi-3.0.8-arm.patch
new file mode 100644
index 000000000000..57cc8fdd2797
--- /dev/null
+++ b/dev-libs/libffi/files/libffi-3.0.8-arm.patch
@@ -0,0 +1,80 @@
+--- libffi-3.0.7.orig/src/arm/sysv.S
++++ libffi-3.0.7/src/arm/sysv.S
+@@ -67,11 +67,18 @@
+
+ #if defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) \
+ || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) \
+- || defined(__ARM_ARCH_6ZK__)
++ || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__) \
++ || defined(__ARM_ARCH_6M__)
+ # undef __ARM_ARCH__
+ # define __ARM_ARCH__ 6
+ #endif
+
++#if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) \
++ || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__)
++# undef __ARM_ARCH__
++# define __ARM_ARCH__ 7
++#endif
++
+ #if __ARM_ARCH__ >= 5
+ # define call_reg(x) blx x
+ #elif defined (__ARM_ARCH_4T__)
+@@ -189,7 +196,7 @@
+
+ @ return INT
+ cmp r3, #FFI_TYPE_INT
+-#ifdef __SOFTFP__
++#if defined(__SOFTFP__) || defined(__ARM_EABI__)
+ cmpne r3, #FFI_TYPE_FLOAT
+ #endif
+ streq r0, [r2]
+@@ -197,12 +204,12 @@
+
+ @ return INT64
+ cmp r3, #FFI_TYPE_SINT64
+-#ifdef __SOFTFP__
++#if defined(__SOFTFP__) || defined(__ARM_EABI__)
+ cmpne r3, #FFI_TYPE_DOUBLE
+ #endif
+ stmeqia r2, {r0, r1}
+
+-#ifndef __SOFTFP__
++#if !defined(__SOFTFP__) && !defined(__ARM_EABI__)
+ beq LSYM(Lepilogue)
+
+ @ return FLOAT
+@@ -245,21 +252,21 @@
+ beq .Lretint
+
+ cmp r0, #FFI_TYPE_FLOAT
+-#ifdef __SOFTFP__
++#if defined(__SOFTFP__) || defined(__ARM_EABI__)
+ beq .Lretint
+ #else
+ beq .Lretfloat
+ #endif
+
+ cmp r0, #FFI_TYPE_DOUBLE
+-#ifdef __SOFTFP__
++#if defined(__SOFTFP__) || defined(__ARM_EABI__)
+ beq .Lretlonglong
+ #else
+ beq .Lretdouble
+ #endif
+
+ cmp r0, #FFI_TYPE_LONGDOUBLE
+-#ifdef __SOFTFP__
++#if defined(__SOFTFP__) || defined(__ARM_EABI__)
+ beq .Lretlonglong
+ #else
+ beq .Lretlongdouble
+@@ -278,7 +285,7 @@
+ ldr r1, [sp, #4]
+ b .Lclosure_epilogue
+
+-#ifndef __SOFTFP__
++#if !defined(__SOFTFP__) && !defined(__ARM_EABI__)
+ .Lretfloat:
+ ldfs f0, [sp]
+ b .Lclosure_epilogue
diff --git a/dev-libs/libffi/libffi-3.0.8.ebuild b/dev-libs/libffi/libffi-3.0.8.ebuild
index 5e510139843f..37424486d508 100644
--- a/dev-libs/libffi/libffi-3.0.8.ebuild
+++ b/dev-libs/libffi/libffi-3.0.8.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/libffi/libffi-3.0.8.ebuild,v 1.23 2009/10/19 21:20:20 alexxy Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/libffi/libffi-3.0.8.ebuild,v 1.24 2009/12/10 17:19:26 armin76 Exp $
inherit autotools eutils
@@ -21,7 +21,8 @@ src_unpack() {
unpack ${A}
cd "${S}"
epatch "${FILESDIR}"/${P}-fbsd.patch \
- "${FILESDIR}"/${P}-autoconf-2.64.patch
+ "${FILESDIR}"/${P}-autoconf-2.64.patch \
+ "${FILESDIR}"/${P}-arm.patch
eautoreconf
}