From acc5aec37f5f246ebf185d2129e7630eb80bb388 Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Fri, 5 Jan 2024 09:47:43 +0100 Subject: [PATCH] tee-supplicant: fix build with kernel < 4.16 Commit 3ac968ee7c927271e83ea3a4247839649202ab5e moved linux/tee.h from libteec/include to libteec/src resulting in the following build failure with any kernel < 4.16 (i.e before https://github.com/torvalds/linux/commit/033ddf12bcf5326b93bd604f50a7474a434a35f9): /home/buildroot/autobuild/instance-3/output-1/build/optee-client-4.0.0/tee-supplicant/src/tee_supplicant.c: In function 'register_local_shm': /home/buildroot/autobuild/instance-3/output-1/build/optee-client-4.0.0/tee-supplicant/src/tee_supplicant.c:356:44: error: storage size of 'data' isn't known 356 | struct tee_ioctl_shm_register_data data; | ^~~~ To fix this build failure, update CMakeLists.txt and Makefile of tee-supplicant to add libteec/src to the include directories. Fixes: 3ac968ee7c92 ("Makefile, cmake: move teec related headers") Signed-off-by: Fabrice Fontaine Upstream: https://github.com/OP-TEE/optee_client/pull/369 --- tee-supplicant/CMakeLists.txt | 5 ++++- tee-supplicant/Makefile | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/tee-supplicant/CMakeLists.txt b/tee-supplicant/CMakeLists.txt index 31c6dac5..b44e9e95 100644 --- a/tee-supplicant/CMakeLists.txt +++ b/tee-supplicant/CMakeLists.txt @@ -93,7 +93,10 @@ endif() ################################################################################ # Public and private header and library dependencies ################################################################################ -target_include_directories(${PROJECT_NAME} PRIVATE src) +target_include_directories(${PROJECT_NAME} + PRIVATE src + PRIVATE ../libteec/src +) target_link_libraries(${PROJECT_NAME} PRIVATE teec diff --git a/tee-supplicant/Makefile b/tee-supplicant/Makefile index 06c4b2e5..c3b32252 100644 --- a/tee-supplicant/Makefile +++ b/tee-supplicant/Makefile @@ -40,7 +40,7 @@ TEES_OBJ_DIR := $(OUT_DIR) TEES_OBJS := $(patsubst %.c,$(TEES_OBJ_DIR)/%.o, $(TEES_SRCS)) TEES_INCLUDES := ${CURDIR}/../libteec/include \ ${CURDIR}/src \ - ${CURDIR}/../libteec/include \ + ${CURDIR}/../libteec/src \ TEES_CFLAGS := $(addprefix -I, $(TEES_INCLUDES)) $(CFLAGS) \ -DDEBUGLEVEL_$(CFG_TEE_SUPP_LOG_LEVEL) \