xref: /OK3568_Linux_fs/buildroot/package/ffmpeg/0003-libavutil-Fix-mips-build.patch (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunFrom 6e8daf0d502a2a822f1f08f42368d7d676dc1a9e Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Bernd Kuhls <bernd.kuhls@t-online.de>
3*4882a593SmuzhiyunDate: Sun, 6 Jun 2021 08:54:53 +0200
4*4882a593SmuzhiyunSubject: [PATCH] libavutil: Fix mips build
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunCheck for sys/auxv.h because not all toolchains contain this header.
7*4882a593Smuzhiyun
8*4882a593SmuzhiyunFixes https://trac.ffmpeg.org/ticket/9138
9*4882a593Smuzhiyun
10*4882a593SmuzhiyunPatch sent upstream:
11*4882a593Smuzhiyunhttp://ffmpeg.org/pipermail/ffmpeg-devel/2021-June/281272.html
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunSigned-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
14*4882a593Smuzhiyun---
15*4882a593Smuzhiyun configure            | 2 ++
16*4882a593Smuzhiyun libavutil/mips/cpu.c | 6 +++---
17*4882a593Smuzhiyun 2 files changed, 5 insertions(+), 3 deletions(-)
18*4882a593Smuzhiyun
19*4882a593Smuzhiyundiff --git a/configure b/configure
20*4882a593Smuzhiyunindex 6bfd98b384..773a7d516c 100755
21*4882a593Smuzhiyun--- a/configure
22*4882a593Smuzhiyun+++ b/configure
23*4882a593Smuzhiyun@@ -2161,6 +2161,7 @@ HEADERS_LIST="
24*4882a593Smuzhiyun     opencv2_core_core_c_h
25*4882a593Smuzhiyun     OpenGL_gl3_h
26*4882a593Smuzhiyun     poll_h
27*4882a593Smuzhiyun+    sys_auxv_h
28*4882a593Smuzhiyun     sys_param_h
29*4882a593Smuzhiyun     sys_resource_h
30*4882a593Smuzhiyun     sys_select_h
31*4882a593Smuzhiyun@@ -6218,6 +6219,7 @@ check_func_headers VideoToolbox/VTCompressionSession.h VTCompressionSessionPrepa
32*4882a593Smuzhiyun check_headers windows.h
33*4882a593Smuzhiyun check_headers X11/extensions/XvMClib.h
34*4882a593Smuzhiyun check_headers asm/types.h
35*4882a593Smuzhiyun+check_headers sys/auxv.h
36*4882a593Smuzhiyun
37*4882a593Smuzhiyun # it seems there are versions of clang in some distros that try to use the
38*4882a593Smuzhiyun # gcc headers, which explodes for stdatomic
39*4882a593Smuzhiyundiff --git a/libavutil/mips/cpu.c b/libavutil/mips/cpu.c
40*4882a593Smuzhiyunindex 59619d54de..19196de50b 100644
41*4882a593Smuzhiyun--- a/libavutil/mips/cpu.c
42*4882a593Smuzhiyun+++ b/libavutil/mips/cpu.c
43*4882a593Smuzhiyun@@ -19,7 +19,7 @@
44*4882a593Smuzhiyun #include "libavutil/cpu.h"
45*4882a593Smuzhiyun #include "libavutil/cpu_internal.h"
46*4882a593Smuzhiyun #include "config.h"
47*4882a593Smuzhiyun-#if defined __linux__ || defined __ANDROID__
48*4882a593Smuzhiyun+#if (defined __linux__ || defined __ANDROID__) && HAVE_SYS_AUXV_H
49*4882a593Smuzhiyun #include <stdint.h>
50*4882a593Smuzhiyun #include <stdio.h>
51*4882a593Smuzhiyun #include <string.h>
52*4882a593Smuzhiyun@@ -28,7 +28,7 @@
53*4882a593Smuzhiyun #include "libavutil/avstring.h"
54*4882a593Smuzhiyun #endif
55*4882a593Smuzhiyun
56*4882a593Smuzhiyun-#if defined __linux__ || defined __ANDROID__
57*4882a593Smuzhiyun+#if (defined __linux__ || defined __ANDROID__) && HAVE_SYS_AUXV_H
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun #define HWCAP_LOONGSON_CPUCFG (1 << 14)
60*4882a593Smuzhiyun
61*4882a593Smuzhiyun@@ -105,7 +105,7 @@ static int cpu_flags_cpuinfo(void)
62*4882a593Smuzhiyun
63*4882a593Smuzhiyun int ff_get_cpu_flags_mips(void)
64*4882a593Smuzhiyun {
65*4882a593Smuzhiyun-#if defined __linux__ || defined __ANDROID__
66*4882a593Smuzhiyun+#if (defined __linux__ || defined __ANDROID__) && HAVE_SYS_AUXV_H
67*4882a593Smuzhiyun     if (cpucfg_available())
68*4882a593Smuzhiyun         return cpu_flags_cpucfg();
69*4882a593Smuzhiyun     else
70*4882a593Smuzhiyun--
71*4882a593Smuzhiyun2.29.2
72*4882a593Smuzhiyun
73