libffi: Make it build for MIPS o32

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)'

(From OE-Core rev: 250d85144c0118aebfce105f02425c25cb028087)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Peter Kjellerstedt
2019-08-23 17:20:16 +02:00
committed by Richard Purdie
parent 7e158306e6
commit bc1cedc3ea
2 changed files with 32 additions and 0 deletions

View File

@@ -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

View 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"