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<