summaryrefslogtreecommitdiffstats
path: root/recipes-multimedia/libva/files/0001-Fix-uClibc-build.patch
blob: dbe93872924d99a847f15d9d2a8ed618ce596df9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
From 2e0a1de5fee7899cc7d4e67ec9893a621a3cf024 Mon Sep 17 00:00:00 2001
From: Bernd Kuhls <bernd.kuhls@t-online.de>
Date: Fri, 10 Jun 2022 18:42:34 +0200
Subject: [PATCH] Fix uClibc build

uClibc does not provide execinfo.h

Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1437]
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
---
 CMakeLists.txt                                              | 6 ++++++
 .../linux/common/os/osservice/mos_utilities_specific.cpp    | 4 ++++
 2 files changed, 10 insertions(+)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8305acfdb..6bec00f7d 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -53,6 +53,12 @@ option (BUILD_CMRTLIB "Build and Install cmrtlib together with media driver" ON)
 
 option (ENABLE_PRODUCTION_KMD "Enable Production KMD header files" OFF)
 
+include(CheckIncludeFileCXX)
+check_include_file_cxx("execinfo.h" HAVE_EXECINFO)
+if (HAVE_EXECINFO)
+    add_definitions(-DHAVE_EXECINFO)
+endif()
+
 include(GNUInstallDirs)
 
 if (BUILD_CMRTLIB AND NOT CMAKE_WDDM_LINUX)
diff --git a/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp b/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp
index ff0b68655..8ea621f0e 100644
--- a/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp
+++ b/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp
@@ -51,7 +51,9 @@
 #include <signal.h>
 #include <unistd.h>  // fork
 #include <algorithm>
+#ifdef HAVE_EXECINFO
 #include <execinfo.h> // backtrace
+#endif
 
 const char           *MosUtilitiesSpecificNext::m_szUserFeatureFile     = USER_FEATURE_FILE;
 MOS_PUF_KEYLIST      MosUtilitiesSpecificNext::m_ufKeyList              = nullptr;
@@ -2492,6 +2494,7 @@ void MosUtilities::MosTraceEvent(
                 MOS_FreeMemory(pTraceBuf);
             }
         }
+#ifdef HAVE_EXECINFO
         if (m_mosTraceFilter & (1ULL << TR_KEY_CALL_STACK))
         {
             // reserve space for header and stack size field.
@@ -2511,6 +2514,7 @@ void MosUtilities::MosTraceEvent(
                 size_t ret = write(MosUtilitiesSpecificNext::m_mosTraceFd, traceBuf, nLen);
             }
         }
+#endif
     }
     return;
 }
-- 
2.34.1