Message ID | 20240719064402.3105153-2-wilfred.mallawa@wdc.com |
---|---|
State | Changes Requested |
Headers | show |
Series | [v3,1/1] package/libspdm: bump version to 3.4.0 | expand |
On Fri, Jul 19, 2024 at 4:52 PM Wilfred Mallawa via buildroot <buildroot@buildroot.org> wrote: > > From: Wilfred Mallawa via buildroot <buildroot@buildroot.org> > > `libspdm 3.3.0` and later support the SPDM event capability, however > this patch disables support for EVENT_CAP as it is optional, > and requires additional functionality implemented at link time. > > `libspdm 3.4.0` also introduces SPDM1.3 measurement extention log (MEL). > Leave this off by default for the same reason as above. > > Signed-off-by: Wilfred Mallawa <wilfred.mallawa@wdc.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Alistair > --- > Changes in V3: > - Updated to libspdm 3.4.0, this release includes the patch > that was being backported in V2. > > ...eLists-remove-fixed-options-for-NONE.patch | 52 ------------------- > package/libspdm/libspdm.hash | 2 +- > package/libspdm/libspdm.mk | 6 ++- > 3 files changed, 5 insertions(+), 55 deletions(-) > delete 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 > deleted file mode 100644 > index 0de0ad0079..0000000000 > --- a/package/libspdm/0001-CMakeLists-remove-fixed-options-for-NONE.patch > +++ /dev/null > @@ -1,52 +0,0 @@ > -From d4d6b138d727e484fa9d0fef476ca181681d0695 Mon Sep 17 00:00:00 2001 > -From: Wilfred Mallawa <wilfred.mallawa@wdc.com> > -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 <wilfred.mallawa@wdc.com> > ---- > - 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 "<CMAKE_LINKER> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> -Wl,--start-group <LINK_LIBRARIES> -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 32415bcfce..1fe34fded1 100644 > --- a/package/libspdm/libspdm.hash > +++ b/package/libspdm/libspdm.hash > @@ -1,3 +1,3 @@ > # Locally calculated > -sha256 0ee460c0ce5c4d126ca65f9c4bdabd5725b87cec7160b2d06721169df58f3a95 libspdm-3.2.0.tar.gz > +sha256 44f967aeb0c481676affe59069615252854bc0c072368ce4b26b6809a54daff5 libspdm-3.4.0.tar.gz > sha256 7dc072bff163df39209bbb63e0916f4667c2a84cf3c36ccc84ec7425bc3e4779 LICENSE.md > diff --git a/package/libspdm/libspdm.mk b/package/libspdm/libspdm.mk > index 2ec35be0ac..1c7f12227e 100644 > --- a/package/libspdm/libspdm.mk > +++ b/package/libspdm/libspdm.mk > @@ -4,7 +4,7 @@ > # > ################################################################################ > > -LIBSPDM_VERSION = 3.2.0 > +LIBSPDM_VERSION = 3.4.0 > LIBSPDM_SITE = $(call github,DMTF,libspdm,$(LIBSPDM_VERSION)) > LIBSPDM_LICENSE = BSD-3-Clause > LIBSPDM_LICENSE_FILES = LICENSE.md > @@ -27,7 +27,9 @@ LIBSPDM_CONF_OPTS = \ > -DCOMPILED_LIBSSL_PATH=/usr/lib/ \ > -DDISABLE_TESTS=1 \ > -DDISABLE_EDDSA=1 \ > - -DLINK_FLAGS=$(STAGING_DIR) > + -DLINK_FLAGS=$(STAGING_DIR) \ > + -DCMAKE_C_FLAGS="-DLIBSPDM_ENABLE_CAPABILITY_EVENT_CAP=0 \ > + -DLIBSPDM_ENABLE_CAPABILITY_MEL_CAP=0" .. > > define LIBSPDM_INSTALL_STAGING_CMDS > mkdir -p $(STAGING_DIR)/usr/lib > -- > 2.45.2 > > _______________________________________________ > buildroot mailing list > buildroot@buildroot.org > https://lists.buildroot.org/mailman/listinfo/buildroot
Hello Wilfred, On Fri, 19 Jul 2024 16:44:03 +1000 Wilfred Mallawa via buildroot <buildroot@buildroot.org> wrote: > From: Wilfred Mallawa via buildroot <buildroot@buildroot.org> > > `libspdm 3.3.0` and later support the SPDM event capability, however > this patch disables support for EVENT_CAP as it is optional, > and requires additional functionality implemented at link time. > > `libspdm 3.4.0` also introduces SPDM1.3 measurement extention log (MEL). > Leave this off by default for the same reason as above. > > Signed-off-by: Wilfred Mallawa <wilfred.mallawa@wdc.com> Thanks for this new iteration! Some comments/questions below. > -LIBSPDM_VERSION = 3.2.0 > +LIBSPDM_VERSION = 3.4.0 > LIBSPDM_SITE = $(call github,DMTF,libspdm,$(LIBSPDM_VERSION)) > LIBSPDM_LICENSE = BSD-3-Clause > LIBSPDM_LICENSE_FILES = LICENSE.md > @@ -27,7 +27,9 @@ LIBSPDM_CONF_OPTS = \ > -DCOMPILED_LIBSSL_PATH=/usr/lib/ \ > -DDISABLE_TESTS=1 \ > -DDISABLE_EDDSA=1 \ > - -DLINK_FLAGS=$(STAGING_DIR) > + -DLINK_FLAGS=$(STAGING_DIR) \ > + -DCMAKE_C_FLAGS="-DLIBSPDM_ENABLE_CAPABILITY_EVENT_CAP=0 \ > + -DLIBSPDM_ENABLE_CAPABILITY_MEL_CAP=0" .. What is this ".." at the end of the line ? Also, the way you're passing CFLAGS completely drops our $(TARGET_CFLAGS). So instead you should do this: LIBSPDM_CFLAGS = \ $(TARGET_CFLAGS) \ -DLIBSPDM_ENABLE_CAPABILITY_EVENT_CAP=0 \ -DLIBSPDM_ENABLE_CAPABILITY_MEL_CAP=0 and in the LIBSPDM_CONF_OPTS: -DCMAKE_C_FLAGS="$(LIBSPDM_CFLAGS)" Thanks! Thomas
On Sun, 2024-08-04 at 23:15 +0200, Thomas Petazzoni via buildroot wrote: > Hello Wilfred, > > On Fri, 19 Jul 2024 16:44:03 +1000 > Wilfred Mallawa via buildroot <buildroot@buildroot.org> wrote: > > > From: Wilfred Mallawa via buildroot <buildroot@buildroot.org> > > > > `libspdm 3.3.0` and later support the SPDM event capability, > > however > > this patch disables support for EVENT_CAP as it is optional, > > and requires additional functionality implemented at link time. > > > > `libspdm 3.4.0` also introduces SPDM1.3 measurement extention log > > (MEL). > > Leave this off by default for the same reason as above. > > > > Signed-off-by: Wilfred Mallawa <wilfred.mallawa@wdc.com> > > Thanks for this new iteration! Some comments/questions below. > > > -LIBSPDM_VERSION = 3.2.0 > > +LIBSPDM_VERSION = 3.4.0 > > LIBSPDM_SITE = $(call github,DMTF,libspdm,$(LIBSPDM_VERSION)) > > LIBSPDM_LICENSE = BSD-3-Clause > > LIBSPDM_LICENSE_FILES = LICENSE.md > > @@ -27,7 +27,9 @@ LIBSPDM_CONF_OPTS = \ > > -DCOMPILED_LIBSSL_PATH=/usr/lib/ \ > > -DDISABLE_TESTS=1 \ > > -DDISABLE_EDDSA=1 \ > > - -DLINK_FLAGS=$(STAGING_DIR) > > + -DLINK_FLAGS=$(STAGING_DIR) \ > > + -DCMAKE_C_FLAGS="-DLIBSPDM_ENABLE_CAPABILITY_EVENT_CAP=0 \ > > + -DLIBSPDM_ENABLE_CAPABILITY_MEL_CAP=0" .. > > What is this ".." at the end of the line ? Good catch, I think it's just used to point to the `top-dir` from a `sub-build-dir` but in this context, it should not be required. I've removed it and have sent a V4 with your other comments addressed. Wilfred > > Also, the way you're passing CFLAGS completely drops our > $(TARGET_CFLAGS). So instead you should do this: > > LIBSPDM_CFLAGS = \ > $(TARGET_CFLAGS) \ > -DLIBSPDM_ENABLE_CAPABILITY_EVENT_CAP=0 \ > -DLIBSPDM_ENABLE_CAPABILITY_MEL_CAP=0 > > and in the LIBSPDM_CONF_OPTS: > > -DCMAKE_C_FLAGS="$(LIBSPDM_CFLAGS)" > > Thanks! > > Thomas
diff --git a/package/libspdm/0001-CMakeLists-remove-fixed-options-for-NONE.patch b/package/libspdm/0001-CMakeLists-remove-fixed-options-for-NONE.patch deleted file mode 100644 index 0de0ad0079..0000000000 --- a/package/libspdm/0001-CMakeLists-remove-fixed-options-for-NONE.patch +++ /dev/null @@ -1,52 +0,0 @@ -From d4d6b138d727e484fa9d0fef476ca181681d0695 Mon Sep 17 00:00:00 2001 -From: Wilfred Mallawa <wilfred.mallawa@wdc.com> -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 <wilfred.mallawa@wdc.com> ---- - 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 "<CMAKE_LINKER> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> -Wl,--start-group <LINK_LIBRARIES> -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 32415bcfce..1fe34fded1 100644 --- a/package/libspdm/libspdm.hash +++ b/package/libspdm/libspdm.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 0ee460c0ce5c4d126ca65f9c4bdabd5725b87cec7160b2d06721169df58f3a95 libspdm-3.2.0.tar.gz +sha256 44f967aeb0c481676affe59069615252854bc0c072368ce4b26b6809a54daff5 libspdm-3.4.0.tar.gz sha256 7dc072bff163df39209bbb63e0916f4667c2a84cf3c36ccc84ec7425bc3e4779 LICENSE.md diff --git a/package/libspdm/libspdm.mk b/package/libspdm/libspdm.mk index 2ec35be0ac..1c7f12227e 100644 --- a/package/libspdm/libspdm.mk +++ b/package/libspdm/libspdm.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBSPDM_VERSION = 3.2.0 +LIBSPDM_VERSION = 3.4.0 LIBSPDM_SITE = $(call github,DMTF,libspdm,$(LIBSPDM_VERSION)) LIBSPDM_LICENSE = BSD-3-Clause LIBSPDM_LICENSE_FILES = LICENSE.md @@ -27,7 +27,9 @@ LIBSPDM_CONF_OPTS = \ -DCOMPILED_LIBSSL_PATH=/usr/lib/ \ -DDISABLE_TESTS=1 \ -DDISABLE_EDDSA=1 \ - -DLINK_FLAGS=$(STAGING_DIR) + -DLINK_FLAGS=$(STAGING_DIR) \ + -DCMAKE_C_FLAGS="-DLIBSPDM_ENABLE_CAPABILITY_EVENT_CAP=0 \ + -DLIBSPDM_ENABLE_CAPABILITY_MEL_CAP=0" .. define LIBSPDM_INSTALL_STAGING_CMDS mkdir -p $(STAGING_DIR)/usr/lib