From 8249202403a4595c93312ff71fcfbb892b3754a5 Mon Sep 17 00:00:00 2001 From: Jan Beich Date: Sat, 11 Jan 2020 21:12:39 +0000 Subject: [PATCH] memalign is Linux-specific, so use C11 aligned_alloc instead In file included from cmrtlib/agnostic/hardware/cm_queue.cpp:22: In file included from cmrtlib/linux/../agnostic/hardware/cm_queue.h:26: cmrtlib/linux/../linux/share/cm_def_os.h:37:10: fatal error: 'malloc.h' file not found #include ^~~~~~~~~~ In file included from cmrtlib/agnostic/share/cm_avs_state_msg_ex.cpp:22: In file included from cmrtlib/linux/../agnostic/share/cm_def.h:26: cmrtlib/linux/../linux/share/cm_def_os.h:104:10: error: use of undeclared identifier 'memalign' return memalign(alignment, size); ^ media_driver/agnostic/common/os/mos_utilities.c:36:10: fatal error: 'malloc.h' file not found #include // For memalign ^~~~~~~~~~ media_driver/agnostic/common/os/mos_utilities.c:4047:11: error: use of undeclared identifier 'memalign' ptr = _aligned_malloc(size, alignment); ^ media_driver/linux/common/os/mos_utilities_specific.h:91:43: note: expanded from macro '_aligned_malloc' #define _aligned_malloc(size, alignment) memalign(alignment, size) ^ --- cmrtlib/linux/share/cm_def_os.h | 6 +++--- cmrtlib/linux/share/cm_rt_def_os.h | 3 +-- media_driver/agnostic/ult/cm/buffer_up_test.cpp | 1 - media_driver/linux/ult/ult_app/cm/cm_test.h | 3 +-- media_softlet/agnostic/common/os/mos_utilities_next.cpp | 1 - .../linux/common/os/osservice/mos_utilities_specific.h | 3 +-- 6 files changed, 6 insertions(+), 11 deletions(-) diff --git a/cmrtlib/linux/share/cm_def_os.h b/cmrtlib/linux/share/cm_def_os.h index 9fe41bc33c..eae77df943 100644 --- a/cmrtlib/linux/share/cm_def_os.h +++ b/cmrtlib/linux/share/cm_def_os.h @@ -32,15 +32,15 @@ #define Display unsigned int #endif +#include #include #include "pthread.h" -#include //////////////////////////////////////////////////////////////////////////////////// // MS-specific defines/typedefs, which are absent under Linux but still used //////////////////////////////////////////////////////////////////////////////////// -#define _aligned_malloc(size, alignment) memalign(alignment, size) +#define _aligned_malloc(size, alignment) aligned_alloc(alignment, size) #define _aligned_free(ptr) free(ptr) typedef uint8_t BOOLEAN, *PBOOLEAN; //////////////////////////////////////////////////////////////////////////////////// @@ -101,7 +101,7 @@ typedef enum _VACMTEXTUREFILTERTYPE { inline void * CM_ALIGNED_MALLOC(size_t size, size_t alignment) { - return memalign(alignment, size); + return aligned_alloc(alignment, size); } inline void CM_ALIGNED_FREE(void * memory) diff --git a/cmrtlib/linux/share/cm_rt_def_os.h b/cmrtlib/linux/share/cm_rt_def_os.h index b9f15f4bb8..8d6baee49c 100644 --- a/cmrtlib/linux/share/cm_rt_def_os.h +++ b/cmrtlib/linux/share/cm_rt_def_os.h @@ -36,7 +36,6 @@ #include #include #include -#include #include #include #include @@ -175,7 +174,7 @@ template<> inline const char * CM_TYPE_NAME_UNMANGLED() { return "double inline void * CM_ALIGNED_MALLOC(size_t size, size_t alignment) { - return memalign(alignment, size); + return aligned_alloc(alignment, size); } inline void CM_ALIGNED_FREE(void * memory) diff --git a/media_driver/agnostic/ult/cm/buffer_up_test.cpp b/media_driver/agnostic/ult/cm/buffer_up_test.cpp index 67982c2d46..515bc11511 100644 --- a/media_driver/agnostic/ult/cm/buffer_up_test.cpp +++ b/media_driver/agnostic/ult/cm/buffer_up_test.cpp @@ -21,7 +21,6 @@ */ #include "cm_test.h" -#include class BufferUPTest: public CmTest { diff --git a/media_driver/linux/ult/ult_app/cm/cm_test.h b/media_driver/linux/ult/ult_app/cm/cm_test.h index b6ab178495..e05ffdab13 100644 --- a/media_driver/linux/ult/ult_app/cm/cm_test.h +++ b/media_driver/linux/ult/ult_app/cm/cm_test.h @@ -23,7 +23,6 @@ #ifndef MEDIADRIVER_LINUX_CODECHAL_ULT_ULTAPP_CMTEST_H_ #define MEDIADRIVER_LINUX_CODECHAL_ULT_ULTAPP_CMTEST_H_ -#include #include "gtest/gtest.h" #include "mock_device.h" #include "../memory_leak_detector.h" @@ -34,7 +33,7 @@ class CmTest: public testing::Test { public: static void* AllocateAlignedMemory(size_t size, size_t alignment) - { return memalign(alignment, size); } + { return aligned_alloc(alignment, size); } static void FreeAlignedMemory(void *memory) { free(memory); } diff --git a/media_softlet/agnostic/common/os/mos_utilities_next.cpp b/media_softlet/agnostic/common/os/mos_utilities_next.cpp index b9780dbd2c..619c5e26b0 100644 --- a/media_softlet/agnostic/common/os/mos_utilities_next.cpp +++ b/media_softlet/agnostic/common/os/mos_utilities_next.cpp @@ -27,7 +27,6 @@ #include #include //open -#include // For memalign #include // atoi atol #include #include //for simulate random memory allcation failure diff --git a/media_softlet/linux/common/os/osservice/mos_utilities_specific.h b/media_softlet/linux/common/os/osservice/mos_utilities_specific.h index 8a139bcd7c..a9121419a5 100644 --- a/media_softlet/linux/common/os/osservice/mos_utilities_specific.h +++ b/media_softlet/linux/common/os/osservice/mos_utilities_specific.h @@ -27,7 +27,6 @@ #define __MOS_UTILITIES_SPECIFIC_H__ #include -#include #include "mos_defs.h" #include "media_class_trace.h" @@ -35,7 +34,7 @@ #define NOT_FOUND -1 -#define _aligned_malloc(size, alignment) memalign(alignment, size) +#define _aligned_malloc(size, alignment) aligned_alloc(alignment, size) #define _aligned_free(ptr) free(ptr) typedef void (*MOS_UserFeatureCallback)( void*, bool);