From dbc6398f1d4c68fa32c5f9d6329dfff7cb109a4b Mon Sep 17 00:00:00 2001 From: Wilfred Mallawa Date: Fri, 15 Mar 2024 07:44:23 +1000 Subject: [PATCH] package/libspdm: bump version to 3.2.0 Additionally, add an upstream patch that fixes the configuration for "NONE" toolchain variant in libspdm. That is, where the build environment provides compile/link options. Reviewed-by: Alistair Francis Signed-off-by: Wilfred Mallawa Signed-off-by: Arnout Vandecappelle --- ...eLists-remove-fixed-options-for-NONE.patch | 52 +++++++++++++++++++ package/libspdm/libspdm.hash | 2 +- package/libspdm/libspdm.mk | 2 +- 3 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 package/libspdm/0001-CMakeLists-remove-fixed-options-for-NONE.patch diff --git a/package/libspdm/0001-CMakeLists-remove-fixed-options-for-NONE.patch b/package/libspdm/0001-CMakeLists-remove-fixed-options-for-NONE.patch new file mode 100644 index 0000000000..0de0ad0079 --- /dev/null +++ b/package/libspdm/0001-CMakeLists-remove-fixed-options-for-NONE.patch @@ -0,0 +1,52 @@ +From d4d6b138d727e484fa9d0fef476ca181681d0695 Mon Sep 17 00:00:00 2001 +From: Wilfred Mallawa +Date: Mon, 19 Feb 2024 09:56:14 +1000 +Subject: [PATCH] CMakeLists: remove fixed options for NONE + +The use of the NONE toolchain option is such that we can provide at the +build project level (buildroot etc...). However, the changes introduced +in 811f2b596def04b3a36368cf2098546d7907767f set certain compiler/linker +option that does not comply with the definition of the options as +specified in [1]. This change removes those options. + +[1] https://github.com/DMTF/libspdm/blob/main/doc/build.md#linux-builds-inside-build-environments + +Upstream: https://github.com/DMTF/libspdm/commit/d4d6b138d727e484fa9d0fef476ca181681d0695 +Signed-off-by: Wilfred Mallawa +--- + CMakeLists.txt | 19 ------------------- + 1 file changed, 19 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9c300cc817..f6cf17d269 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -618,25 +618,6 @@ if(CMAKE_SYSTEM_NAME MATCHES "Linux") + SET(CMAKE_EXE_LINKER_FLAGS "") + + SET(CMAKE_C_LINK_EXECUTABLE "") +- +- elseif(TOOLCHAIN STREQUAL "NONE") +- ADD_COMPILE_OPTIONS(-fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -fno-common -Wno-address -fpie -fno-asynchronous-unwind-tables -flto -DUSING_LTO -Wno-maybe-uninitialized -Wno-uninitialized -Wno-builtin-declaration-mismatch -Wno-nonnull-compare -Werror-implicit-function-declaration) +- if(CMAKE_BUILD_TYPE STREQUAL "Debug") +- ADD_COMPILE_OPTIONS(-g) +- endif() +- if(GCOV STREQUAL "ON") +- ADD_COMPILE_OPTIONS(--coverage -fprofile-arcs -ftest-coverage) +- endif() +- SET(OPENSSL_FLAGS -include base.h -Wno-error=maybe-uninitialized -Wno-error=format -Wno-format -Wno-error=unused-but-set-variable -Wno-cast-qual -Wno-error=implicit-function-declaration) +- SET(CMOCKA_FLAGS -std=gnu99 -Wpedantic -Wall -Wshadow -Wmissing-prototypes -Wcast-align -Werror=address -Wstrict-prototypes -Werror=strict-prototypes -Wwrite-strings -Werror=write-strings -Werror-implicit-function-declaration -Wpointer-arith -Werror=pointer-arith -Wdeclaration-after-statement -Werror=declaration-after-statement -Wreturn-type -Werror=return-type -Wuninitialized -Werror=uninitialized -Werror=strict-overflow -Wstrict-overflow=2 -Wno-format-zero-length -Wmissing-field-initializers -Wformat-security -Werror=format-security -fno-common -Wformat -fno-common -fstack-protector-strong -Wno-cast-qual) +- +- SET(CMAKE_LINKER ${CMAKE_C_COMPILER}) +- SET(CMAKE_EXE_LINKER_FLAGS "-flto -Wno-error -no-pie" ) +- if(GCOV STREQUAL "ON") +- SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage -lgcov -fprofile-arcs -ftest-coverage") +- endif() +- SET(CMAKE_C_LINK_EXECUTABLE " -o -Wl,--start-group -Wl,--end-group") +- + endif() + + if(NOT TOOLCHAIN STREQUAL "NIOS2_GCC") +-- +2.43.2 + diff --git a/package/libspdm/libspdm.hash b/package/libspdm/libspdm.hash index 23faba1c4b..32415bcfce 100644 --- a/package/libspdm/libspdm.hash +++ b/package/libspdm/libspdm.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 84d4a755f57b17775c63b5c8be646d518ce34d5d1b85994b6150ebce9d31b183 libspdm-3.1.1.tar.gz +sha256 0ee460c0ce5c4d126ca65f9c4bdabd5725b87cec7160b2d06721169df58f3a95 libspdm-3.2.0.tar.gz sha256 7dc072bff163df39209bbb63e0916f4667c2a84cf3c36ccc84ec7425bc3e4779 LICENSE.md diff --git a/package/libspdm/libspdm.mk b/package/libspdm/libspdm.mk index 34dbb457c4..2ec35be0ac 100644 --- a/package/libspdm/libspdm.mk +++ b/package/libspdm/libspdm.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBSPDM_VERSION = 3.1.1 +LIBSPDM_VERSION = 3.2.0 LIBSPDM_SITE = $(call github,DMTF,libspdm,$(LIBSPDM_VERSION)) LIBSPDM_LICENSE = BSD-3-Clause LIBSPDM_LICENSE_FILES = LICENSE.md