From faebf9af4e13bb9a8ab9e65ef1ec3da355497264 Mon Sep 17 00:00:00 2001 From: guweibo Date: Wed, 23 Feb 2022 14:37:31 +0800 Subject: [PATCH 1/3] 1 add CMakeLists.txt for teec_adaptor Signed-off-by: guweibo --- CMakeLists.txt | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..a7906a9 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,36 @@ +cmake_minimum_required (VERSION 2.8) +project (teec_adaptor) +cmake_policy (SET CMP0037 OLD) + +# Add source files +set(SRCS ./src/CA/cloud/libteec_adaptor.c) + +# Add header file include directories +include_directories( + ./include/CA + ./thirdparty/open_source/liboundscheck/include +) + +# Set options +set(CMAKE_TEEC_ADAPTOR_FLAGS "-fstack-protector-strong -fPIC -ftrapv -s -D_FORTIFY_SOURCE=2 -O2") +set(CMAKE_TEEC_ADAPTOR_FLAGS "${CMAKE_TEEC_ADAPTOR_FLAGS} -z text -z now -z relro -z noexecstack -pie -shared") + +# Set output dir +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}) + +# Generate .so file +add_library(teec_adaptor SHARED ${SRCS}) +set_target_properties(teec_adaptor PROPERTIES COMPILE_FLAGS ${CMAKE_TEEC_ADAPTOR_FLAGS}) + +# Clean output +add_custom_target(clean + COMMAND rm -rf ${PROJECT_SOURCE_DIR}/libteec_adaptor.so + COMMAND @echo "clean up" +) + +# Install +add_custom_target(install + COMMAND install -d /opt/itrustee_sdk + COMMAND cp -rf ${PROJECT_SOURCE_DIR}/build ${PROJECT_SOURCE_DIR}/include ${PROJECT_SOURCE_DIR}/License ${PROJECT_SOURCE_DIR}/thirdparty /opt/itrustee_sdk + COMMAND install -pm 644 ${PROJECT_SOURCE_DIR}/libteec_adaptor.so /lib64 +) -- Gitee From 07947011d19877d089bebd2b5669c988a3a383ea Mon Sep 17 00:00:00 2001 From: guweibo Date: Wed, 23 Feb 2022 20:38:35 +0800 Subject: [PATCH 2/3] 1 add CMakeLists.txt for helloword demo Signed-off-by: guweibo --- test/CA/helloworld/cloud/CMakeLists.txt | 32 +++++++++++++++ test/TA/helloworld/cloud/CMakeLists.txt | 53 +++++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 test/CA/helloworld/cloud/CMakeLists.txt create mode 100644 test/TA/helloworld/cloud/CMakeLists.txt diff --git a/test/CA/helloworld/cloud/CMakeLists.txt b/test/CA/helloworld/cloud/CMakeLists.txt new file mode 100644 index 0000000..42fe486 --- /dev/null +++ b/test/CA/helloworld/cloud/CMakeLists.txt @@ -0,0 +1,32 @@ +cmake_minimum_required (VERSION 2.8) +project (teec_hello) +cmake_policy (SET CMP0037 OLD) + +# Add source files +set(SRCS + ../ca_demo.c + ../../../../src/CA/cloud/libteec_adaptor.c +) + +# Add header file include directories +include_directories( + ../../../../include/CA +) + +# Set options +set(CMAKE_TEEC_HELLO_FLAGS "-fstack-protector-strong -fPIC") +set(CMAKE_TEEC_HELLO_FLAGS "${CMAKE_TEEC_HELLO_FLAGS} -z text -z now -z relro -z noexecstack -pie") + +# Set output dir +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}) + +# Generate execute file +add_executable(rsa_demo ${SRCS}) +target_link_libraries(rsa_demo dl pthread) +set_target_properties(rsa_demo PROPERTIES COMPILE_FLAGS ${CMAKE_TEEC_HELLO_FLAGS}) + +# Clean output +add_custom_target(clean + COMMAND rm -rf ${PROJECT_SOURCE_DIR}/teec_hello + COMMAND @echo "clean up" +) diff --git a/test/TA/helloworld/cloud/CMakeLists.txt b/test/TA/helloworld/cloud/CMakeLists.txt new file mode 100644 index 0000000..b573d2d --- /dev/null +++ b/test/TA/helloworld/cloud/CMakeLists.txt @@ -0,0 +1,53 @@ +cmake_minimum_required (VERSION 2.8) +project (teec_hello) +cmake_policy (SET CMP0037 OLD) + +# Set variable +set(iTrustee_SDK_PATH ${PROJECT_SOURCE_DIR}/../../../../) +set(SIGNTOOL_DIR ${iTrustee_SDK_PATH}/build/signtools) +set(LIBC ${iTrustee_SDK_PATH}/thirdparty/open_source/musl) +set(LIBSECURE ${iTrustee_SDK_PATH}/thirdparty/open_source/liboundscheck) + +# Add source files +file(GLOB SRCS "./*.c") +set(SRCS ${SRCS} ../ta_demo.c) + +# Add header file include directories +include_directories( + ${LIBC}/libc + ${LIBC}/libc/arch/aarch64 + ${LIBC}/libc/arch/aarch64/bits + ${LIBC}/libc/arch/generic + ${LIBSECURE}/include + ${iTrustee_SDK_PATH}/include/TA + ${iTrustee_SDK_PATH}/include/TA/huawei_ext + ${PROJECT_SOURCE_DIR}/include +) + +# Set options +set(CMAKE_TA_FLAGS "-DAPI_LEVEL=1 -O -W -Wall -Werror -fno-short-enums -fno-omit-frame-pointer -fstack-protector-strong") +set(CMAKE_TA_FLAGS "${CMAKE_TA_FLAGS} -Wextra -nostdinc -nodefaultlibs -march=armv8-a -Os -Wno-main -fPIC") +set(CMAKE_TA_FLAGS "${CMAKE_TA_FLAGS} -Wno-error=unused-parameter -Wno-error=unused-but-set-variable") +set(CMAKE_TA_LD_FLAGS "-s -z text -z now -z relro -z noexecstack -shared") +set(CMAKE_TA_LD_FLAGS "${CMAKE_TA_LD_FLAGS} -T${iTrustee_SDK_PATH}/build/tools/ta_link_64.ld") + +# Set output dir +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}) + +# Generate .so file +add_library(tmp_object OBJECT ${SRCS}) +set_target_properties(tmp_object PROPERTIES COMPILE_FLAGS ${CMAKE_TA_FLAGS}) +add_library(combine SHARED $) +set_target_properties(combine PROPERTIES LINK_FLAGS ${CMAKE_TA_LD_FLAGS}) + +add_custom_command(TARGET combine + POST_BUILD + COMMAND cp -f ${PROJECT_SOURCE_DIR}/../manifest.txt ${PROJECT_SOURCE_DIR} + COMMAND python3 -B ${SIGNTOOL_DIR}/signtool_v3.py ${PROJECT_SOURCE_DIR} ${PROJECT_SOURCE_DIR} --config ${PROJECT_SOURCE_DIR}/config_cloud.ini +) + +# Clean output +add_custom_target(clean + COMMAND rm -rf ${PROJECT_SOURCE_DIR}/libcombine.so ${PROJECT_SOURCE_DIR}/*.sec + COMMAND @echo "clean up" +) -- Gitee From 40b9c288f15162d905efa2d26c2553b0cc3dc284 Mon Sep 17 00:00:00 2001 From: guweibo Date: Thu, 24 Feb 2022 09:45:50 +0800 Subject: [PATCH 3/3] 1 modified helloworld demo CMakeLists.txt Signed-off-by: guweibo --- test/TA/helloworld/cloud/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/TA/helloworld/cloud/CMakeLists.txt b/test/TA/helloworld/cloud/CMakeLists.txt index b573d2d..d7ed83a 100644 --- a/test/TA/helloworld/cloud/CMakeLists.txt +++ b/test/TA/helloworld/cloud/CMakeLists.txt @@ -6,7 +6,7 @@ cmake_policy (SET CMP0037 OLD) set(iTrustee_SDK_PATH ${PROJECT_SOURCE_DIR}/../../../../) set(SIGNTOOL_DIR ${iTrustee_SDK_PATH}/build/signtools) set(LIBC ${iTrustee_SDK_PATH}/thirdparty/open_source/musl) -set(LIBSECURE ${iTrustee_SDK_PATH}/thirdparty/open_source/liboundscheck) +set(LIBSECURE ${iTrustee_SDK_PATH}/thirdparty/open_source/libboundscheck) # Add source files file(GLOB SRCS "./*.c") -- Gitee