From 0ce7415bb50bf1941981ef61590fe642b055d290 Mon Sep 17 00:00:00 2001 From: André Draszik Date: Tue, 6 Sep 2016 12:32:35 +0100 Subject: libffi: backport patch to fix building MIPS soft float MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Upstream-Status: Backport [https://github.com/libffi/libffi/commit/2ded2a4f494165c93293afc14ab0be1243cf8c49] (From OE-Core rev: 0231a6f92d2c8b89b419aeb09a4b35f871bfb2bf) Signed-off-by: André Draszik Signed-off-by: Richard Purdie --- .../0001-mips-fix-MIPS-softfloat-build-issue.patch | 177 +++++++++++++++++++++ meta/recipes-support/libffi/libffi_3.2.1.bb | 1 + 2 files changed, 178 insertions(+) create mode 100644 meta/recipes-support/libffi/libffi/0001-mips-fix-MIPS-softfloat-build-issue.patch diff --git a/meta/recipes-support/libffi/libffi/0001-mips-fix-MIPS-softfloat-build-issue.patch b/meta/recipes-support/libffi/libffi/0001-mips-fix-MIPS-softfloat-build-issue.patch new file mode 100644 index 0000000000..61c9eb31d1 --- /dev/null +++ b/meta/recipes-support/libffi/libffi/0001-mips-fix-MIPS-softfloat-build-issue.patch @@ -0,0 +1,177 @@ +From 655e82c92d5c3875aee04322f1993d6b0774a7bf Mon Sep 17 00:00:00 2001 +From: Yousong Zhou +Date: Mon, 15 Aug 2016 15:00:13 +0800 +Subject: [PATCH] mips: fix MIPS softfloat build issue + +The patch for o32.S is taken from OpenWrt packages repo 3a7a4bf "libffi: +fix MIPS softfloat build issue with current binutils" + +Signed-off-by: Felix Fietkau +Signed-off-by: Yousong Zhou +--- +Upstream-Status: Backport [https://github.com/libffi/libffi/commit/2ded2a4f494165c93293afc14ab0be1243cf8c49] + src/mips/n32.S | 17 +++++++++++++++++ + src/mips/o32.S | 17 +++++++++++++++++ + 2 files changed, 34 insertions(+) + +diff --git a/src/mips/n32.S b/src/mips/n32.S +index c6985d3..8f25994 100644 +--- a/src/mips/n32.S ++++ b/src/mips/n32.S +@@ -107,6 +107,16 @@ loadregs: + + REG_L t6, 3*FFI_SIZEOF_ARG($fp) # load the flags word into t6. + ++#ifdef __mips_soft_float ++ REG_L a0, 0*FFI_SIZEOF_ARG(t9) ++ REG_L a1, 1*FFI_SIZEOF_ARG(t9) ++ REG_L a2, 2*FFI_SIZEOF_ARG(t9) ++ REG_L a3, 3*FFI_SIZEOF_ARG(t9) ++ REG_L a4, 4*FFI_SIZEOF_ARG(t9) ++ REG_L a5, 5*FFI_SIZEOF_ARG(t9) ++ REG_L a6, 6*FFI_SIZEOF_ARG(t9) ++ REG_L a7, 7*FFI_SIZEOF_ARG(t9) ++#else + and t4, t6, ((1<