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