]> code.ossystems Code Review - openembedded-core.git/commitdiff
libffi: Make it build for MIPS o32
authorPeter Kjellerstedt <peter.kjellerstedt@axis.com>
Fri, 23 Aug 2019 15:20:16 +0000 (17:20 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 27 Aug 2019 21:52:41 +0000 (22:52 +0100)
This solves the following errors:

  src/mips/o32.S: Assembler messages:
  src/mips/o32.S:286: Error: opcode not supported on this processor:
    mips32r2 (mips32r2) `s.d $f12,((16*4)-10*4)($fp)'
  src/mips/o32.S:287: Error: opcode not supported on this processor:
    mips32r2 (mips32r2) `s.d $f14,((16*4)-8*4)($fp)'

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-support/libffi/libffi/0001-Fixed-missed-ifndef-for-__mips_soft_float.patch [new file with mode: 0644]
meta/recipes-support/libffi/libffi_3.3~rc0.bb

diff --git a/meta/recipes-support/libffi/libffi/0001-Fixed-missed-ifndef-for-__mips_soft_float.patch b/meta/recipes-support/libffi/libffi/0001-Fixed-missed-ifndef-for-__mips_soft_float.patch
new file mode 100644 (file)
index 0000000..00a30a3
--- /dev/null
@@ -0,0 +1,31 @@
+From 4149a7627a998731cc246d3f58a36808745d04c8 Mon Sep 17 00:00:00 2001
+From: Carl Hurd <carl@Carls-MacBook-Pro.local>
+Date: Wed, 18 Jul 2018 09:04:32 -0400
+Subject: [PATCH] Fixed missed #ifndef for __mips_soft_float
+
+Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
+---
+Upstream-Status: Submitted [https://github.com/libffi/libffi/pull/442]
+
+ src/mips/o32.S | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/mips/o32.S b/src/mips/o32.S
+index 44e74cb..799139b 100644
+--- a/src/mips/o32.S
++++ b/src/mips/o32.S
+@@ -282,9 +282,11 @@ $LCFI12:
+       li      $13, 1          # FFI_O32
+       bne     $16, $13, 1f    # Skip fp save if FFI_O32_SOFT_FLOAT
+       
++#ifndef __mips_soft_float
+       # Store all possible float/double registers.
+       s.d     $f12, FA_0_0_OFF2($fp)
+       s.d     $f14, FA_1_0_OFF2($fp)
++#endif
+ 1:
+       # prepare arguments for ffi_closure_mips_inner_O32
+       REG_L   a0, 4($15)       # cif 
+-- 
+2.21.0
+
index dadde0b2a0033a92fa47186fb46c4b2688d3737b..3e2845546e013b397c0b0cdfd9bf5b3625b72a0b 100644 (file)
@@ -12,6 +12,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3610bb17683a0089ed64055416b2ae1b"
 
 SRC_URI = "https://github.com/libffi/libffi/releases/download/v3.3-rc0/libffi-3.3-rc0.tar.gz \
            file://not-win32.patch \
+           file://0001-Fixed-missed-ifndef-for-__mips_soft_float.patch \
            "
 SRC_URI[md5sum] = "8d2a82a78faf10a5e53c27d986e8f04e"
 SRC_URI[sha256sum] = "403d67aabf1c05157855ea2b1d9950263fb6316536c8c333f5b9ab1eb2f20ecf"