From e85b1fa8385effebc3bbd060fa730e761de7c1c1 Mon Sep 17 00:00:00 2001 From: Krzysztof Sandowicz Date: Fri, 6 Mar 2026 11:53:11 +0100 Subject: [PATCH] Support for 26.04 enabled in SGXSDK and DCAP Dependencies updated to be backward compatible with already supported OSes and also support 26.04 --------- Signed-off-by: Krzysztof Sandowicz --- Makefile | 3 ++- .../framework/include/cppmicroservices/Any.h | 1 + .../include/cppmicroservices/BundleEvent.h | 1 + .../include/cppmicroservices/FrameworkEvent.h | 1 + external/dcap_source | 2 +- .../0001-fix-to-make-SGX-Linux-build-on-GCC15.patch | 13 +++++++++++++ external/protobuf/Makefile | 3 ++- .../deb/local_repo_tool/conf/distributions | 8 ++++++++ .../crypto/pcl_crypto_internal.h | 8 ++++---- 9 files changed, 33 insertions(+), 7 deletions(-) create mode 100644 external/protobuf/0001-fix-to-make-SGX-Linux-build-on-GCC15.patch diff --git a/Makefile b/Makefile index 0dd0e668..2571895b 100644 --- a/Makefile +++ b/Makefile @@ -63,7 +63,8 @@ preparation: git reset --hard && \ git apply ../../../sgx_abseil.patch >/dev/null 2>&1 || git apply ../../../sgx_abseil.patch --check -R && \ git apply ../../../0001-fix-to-make-SGX-Linux-build-on-GCC14.patch >/dev/null 2>&1 || git apply ../../../0001-fix-to-make-SGX-Linux-build-on-GCC14.patch --check -R && \ - git apply ../../../0001-abseil-fix-missing-abort.patch >/dev/null 2>&1 || git apply ../../../0001-abseil-fix-missing-abort.patch --check -R + git apply ../../../0001-abseil-fix-missing-abort.patch >/dev/null 2>&1 || git apply ../../../0001-abseil-fix-missing-abort.patch --check -R && \ + git apply ../../../0001-fix-to-make-SGX-Linux-build-on-GCC15.patch >/dev/null 2>&1 || git apply ../../../0001-fix-to-make-SGX-Linux-build-on-GCC15.patch --check -R ./external/sgx-emm/create_symlink.sh cd external/cbor && cp -r libcbor sgx_libcbor cd external/cbor/libcbor && git apply ../raw_cbor.patch >/dev/null 2>&1 || git apply ../raw_cbor.patch --check -R diff --git a/external/CppMicroServices/framework/include/cppmicroservices/Any.h b/external/CppMicroServices/framework/include/cppmicroservices/Any.h index 9a832b12..a75c18e8 100644 --- a/external/CppMicroServices/framework/include/cppmicroservices/Any.h +++ b/external/CppMicroServices/framework/include/cppmicroservices/Any.h @@ -43,6 +43,7 @@ DEALINGS IN THE SOFTWARE. #include #include #include +#include /** diff --git a/external/CppMicroServices/framework/include/cppmicroservices/BundleEvent.h b/external/CppMicroServices/framework/include/cppmicroservices/BundleEvent.h index 9b36a9b0..b6b15308 100644 --- a/external/CppMicroServices/framework/include/cppmicroservices/BundleEvent.h +++ b/external/CppMicroServices/framework/include/cppmicroservices/BundleEvent.h @@ -27,6 +27,7 @@ #include #include +#include // 'identifier' : class 'type' needs to have dll-interface to be used by clients of class 'type2' US_MSVC_PUSH_DISABLE_WARNING(4251) diff --git a/external/CppMicroServices/framework/include/cppmicroservices/FrameworkEvent.h b/external/CppMicroServices/framework/include/cppmicroservices/FrameworkEvent.h index 71caf1bd..a7a87f87 100644 --- a/external/CppMicroServices/framework/include/cppmicroservices/FrameworkEvent.h +++ b/external/CppMicroServices/framework/include/cppmicroservices/FrameworkEvent.h @@ -27,6 +27,7 @@ #include #include +#include US_MSVC_PUSH_DISABLE_WARNING( 4251) // 'identifier' : class 'type' needs to have dll-interface to be used by clients of class 'type2' diff --git a/external/dcap_source b/external/dcap_source index b132693a..e3e516f1 160000 --- a/external/dcap_source +++ b/external/dcap_source @@ -1 +1 @@ -Subproject commit b132693ab484869abfda03c42a8e46147c419f31 +Subproject commit e3e516f190116fc0ab00160114a19b772c430ecc diff --git a/external/protobuf/0001-fix-to-make-SGX-Linux-build-on-GCC15.patch b/external/protobuf/0001-fix-to-make-SGX-Linux-build-on-GCC15.patch new file mode 100644 index 00000000..8616abc0 --- /dev/null +++ b/external/protobuf/0001-fix-to-make-SGX-Linux-build-on-GCC15.patch @@ -0,0 +1,13 @@ +diff --git a/absl/container/internal/container_memory.h b/absl/container/internal/container_memory.h +index bfa4ff9..624b586 100644 +--- a/absl/container/internal/container_memory.h ++++ b/absl/container/internal/container_memory.h +@@ -16,6 +16,7 @@ + #define ABSL_CONTAINER_INTERNAL_CONTAINER_MEMORY_H_ + + #include ++#include + #include + #include + #include + diff --git a/external/protobuf/Makefile b/external/protobuf/Makefile index 19411c49..2bf2dc96 100644 --- a/external/protobuf/Makefile +++ b/external/protobuf/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2011-2019 Intel Corporation. All rights reserved. +# Copyright (C) 2011-2026 Intel Corporation. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions @@ -89,6 +89,7 @@ ifeq ("$(wildcard $(PB_DIR)/src/file_lists_for_sgx.cmake)", "") git apply ../../../sgx_abseil.patch && \ git apply ../../../0001-fix-to-make-SGX-Linux-build-on-GCC14.patch && \ git apply ../../../0001-abseil-fix-missing-abort.patch && \ + git apply ../../../0001-fix-to-make-SGX-Linux-build-on-GCC15.patch && \ cd ../../.. endif $(MKDIR) protobuf_code/final_tlibPB/build && cd protobuf_code/final_tlibPB/build && cmake $(PB_CONFIG) -Dprotobuf_BUILD_TESTS=FALSE -DSGX=TRUE ../../ -B . && make libprotobuf diff --git a/linux/installer/deb/local_repo_tool/conf/distributions b/linux/installer/deb/local_repo_tool/conf/distributions index 9f29de71..aeaba048 100644 --- a/linux/installer/deb/local_repo_tool/conf/distributions +++ b/linux/installer/deb/local_repo_tool/conf/distributions @@ -85,3 +85,11 @@ Architectures: amd64 Components: main Description: debian/bookworm repository for SGX PSW DebIndices: Packages . + +Origin: Intel Corporation +Label: Intel Corporation +Codename: resolute +Architectures: amd64 +Components: main +Description: ubuntu/resolute repository for SGX PSW +DebIndices: Packages . diff --git a/sdk/protected_code_loader/crypto/pcl_crypto_internal.h b/sdk/protected_code_loader/crypto/pcl_crypto_internal.h index 5ad6efde..98e76031 100644 --- a/sdk/protected_code_loader/crypto/pcl_crypto_internal.h +++ b/sdk/protected_code_loader/crypto/pcl_crypto_internal.h @@ -36,10 +36,10 @@ extern "C" { -#else // Not C++, must define bool: - -typedef unsigned int bool; - +#else // Not C++, must define bool if GCC < 15: +#if defined(__GNUC__) && (__GNUC__ < 15) + typedef unsigned int bool; +#endif #endif // #ifdef __cplusplus int pcl_SHA256_Update(SHA256_CTX *c, void *data_, size_t len);