@@ -, +, @@ --- CMakeLists.txt | 6 ++++++ .../linux/common/os/osservice/mos_utilities_specific.cpp | 4 ++++ 2 files changed, 10 insertions(+) --- a/CMakeLists.txt +++ a/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) --- a/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp +++ a/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp @@ -51,7 +51,9 @@ #include #include // fork #include +#ifdef HAVE_EXECINFO #include // 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; }