kumquat-buildroot/package/libopenh264/0003-codec-common-inc-asmdefs_mmi.h-fix-mips32-build.patch
Fabrice Fontaine 52b875d3ac package/libopenh264: fix mips32 build
Fix build failure with mips32 which is raised since the addition of
bootlin toolchains

Fixes:
 - http://autobuild.buildroot.org/results/cba3e9d0fd061cc3a92cb732bcdc2c7b66dbf6cb

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-05-25 21:27:42 +02:00

90 lines
3.5 KiB
Diff

From c505f81e336088b6729a5407a03459f488353288 Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Mon, 24 May 2021 22:54:01 +0200
Subject: [PATCH] codec/common/inc/asmdefs_mmi.h: fix mips32 build
Fix the following build failure on mips32 which is raised since version
2.0.0 and
https://github.com/cisco/openh264/commit/b13e5bceb18ebb93d0313b46aab4af6f480ca933:
codec/common/mips/copy_mb_mmi.c: In function 'WelsCopy16x16_mmi':
./codec/common/inc/asmdefs_mmi.h:293:21: error: '_ABI64' undeclared (first use in this function)
293 | if (_MIPS_SIM == _ABI64) \
| ^~~~~~
Fixes:
- http://autobuild.buildroot.org/results/cba3e9d0fd061cc3a92cb732bcdc2c7b66dbf6cb
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Upstream status: https://github.com/cisco/openh264/pull/3384]
---
codec/common/inc/asmdefs_mmi.h | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/codec/common/inc/asmdefs_mmi.h b/codec/common/inc/asmdefs_mmi.h
index 69a7ae39..5d1aed93 100644
--- a/codec/common/inc/asmdefs_mmi.h
+++ b/codec/common/inc/asmdefs_mmi.h
@@ -288,9 +288,9 @@
/**
* backup register
*/
+#if defined(_ABI64) && _MIPS_SIM == _ABI64
#define BACKUP_REG \
double __attribute__((aligned(16))) __back_temp[8]; \
- if (_MIPS_SIM == _ABI64) \
__asm__ volatile ( \
"gssqc1 $f25, $f24, 0x00(%[temp]) \n\t" \
"gssqc1 $f27, $f26, 0x10(%[temp]) \n\t" \
@@ -299,8 +299,10 @@
: \
: [temp]"r"(__back_temp) \
: "memory" \
- ); \
- else \
+ );
+#else
+#define BACKUP_REG \
+ double __attribute__((aligned(16))) __back_temp[8]; \
__asm__ volatile ( \
"gssqc1 $f22, $f20, 0x00(%[temp]) \n\t" \
"gssqc1 $f26, $f24, 0x10(%[temp]) \n\t" \
@@ -309,12 +311,13 @@
: [temp]"r"(__back_temp) \
: "memory" \
);
+#endif
/**
* recover register
*/
+#if defined(_ABI64) && _MIPS_SIM == _ABI64
#define RECOVER_REG \
- if (_MIPS_SIM == _ABI64) \
__asm__ volatile ( \
"gslqc1 $f25, $f24, 0x00(%[temp]) \n\t" \
"gslqc1 $f27, $f26, 0x10(%[temp]) \n\t" \
@@ -323,8 +326,9 @@
: \
: [temp]"r"(__back_temp) \
: "memory" \
- ); \
- else \
+ );
+#else
+#define RECOVER_REG \
__asm__ volatile ( \
"gslqc1 $f22, $f20, 0x00(%[temp]) \n\t" \
"gslqc1 $f26, $f24, 0x10(%[temp]) \n\t" \
@@ -333,6 +337,7 @@
: [temp]"r"(__back_temp) \
: "memory" \
);
+#endif
# define OK 1
# define NOTOK 0
--
2.30.2