Skip to contentSkip to conversation

libffi: Make it build for MIPS o32

PATCH New Peter Kjellerstedt 1 participant 1 message Aug 23, 2019

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 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)'

---

PATCHv2: Add Signed-off-by to the patch file.

 ...-missed-ifndef-for-__mips_soft_float.patch | 31 +++++++++++++++++++
 meta/recipes-support/libffi/libffi_3.3~rc0.bb |  1 +
 2 files changed, 32 insertions(+)
 create mode 100644 meta/recipes-support/libffi/libffi/0001-Fixed-missed-ifndef-for-__mips_soft_float.patch
meta/recipes-support/libffi/libffi/0001-Fixed-missed-ifndef-for-__mips_soft_float.patch new file +31 -0
new file mode 100644
index 0000000000..00a30a3554
@@ -0,0 +1,31 @@
+From 4149a7627a998731cc246d3f58a36808745d04c8 Mon Sep 17 00:00:00 2001
+From: Carl Hurd <[email protected]>
+Date: Wed, 18 Jul 2018 09:04:32 -0400
+Subject: [PATCH] Fixed missed #ifndef for __mips_soft_float
+
+Signed-off-by: Peter Kjellerstedt <[email protected]>
+---
+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
+
meta/recipes-support/libffi/libffi_3.3~rc0.bb +1 -0
index dadde0b2a0..3e2845546e 100644
@@ -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"
Signature · 1 line
2.21.0