From 6b04d4f22cf5dbc75042b67859c8d2c8d8bbdc49 Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Mon, 9 Aug 2021 23:29:59 +0200 Subject: [PATCH] package/tpm2-tools: fix build with gcc 4.8 Fix the following build failure with gcc 4.8 raised since bump to version 4.3.2 in commit 91aa6efa8588bf7617cc4a640eb55052b524ceb7: lib/tpm2_eventlog_yaml.c: In function 'yaml_uefi_var_unicodename': lib/tpm2_eventlog_yaml.c:130:5: error: 'for' loop initial declarations are only allowed in C99 mode for(size_t i = 0; i < data->UnicodeNameLength; ++i, tmp += ret) { ^ lib/tpm2_eventlog_yaml.c:130:5: note: use option -std=c99 or -std=gnu99 to compile your code lib/tpm2_eventlog_yaml.c: In function 'yaml_specid_algs': lib/tpm2_eventlog_yaml.c:335:5: error: 'for' loop initial declarations are only allowed in C99 mode for (size_t i = 0; i < count; ++i, ++alg) { ^ Fixes: - http://autobuild.buildroot.org/results/018c75cfbb34006c0bca52dcc255ad6f9cc43b77 Signed-off-by: Fabrice Fontaine Signed-off-by: Thomas Petazzoni --- .../0001-configure-make-build-gnu99.patch | 30 +++++++++++++++++++ package/tpm2-tools/tpm2-tools.mk | 2 ++ 2 files changed, 32 insertions(+) create mode 100644 package/tpm2-tools/0001-configure-make-build-gnu99.patch diff --git a/package/tpm2-tools/0001-configure-make-build-gnu99.patch b/package/tpm2-tools/0001-configure-make-build-gnu99.patch new file mode 100644 index 0000000000..37ca6c5873 --- /dev/null +++ b/package/tpm2-tools/0001-configure-make-build-gnu99.patch @@ -0,0 +1,30 @@ +From 521c3cc506b18c5c84d86e1e90d1daee39849b0c Mon Sep 17 00:00:00 2001 +From: William Roberts +Date: Mon, 8 Feb 2021 11:57:28 -0600 +Subject: [PATCH] configure: make build gnu99 + +Signed-off-by: William Roberts + +[Retrieved from: +https://github.com/tpm2-software/tpm2-tools/commit/521c3cc506b18c5c84d86e1e90d1daee39849b0c +and updated to set gnu99 instead of c99 as done by +https://github.com/tpm2-software/tpm2-tools/commit/5d0267428e96989afce406d096994ec5091ee107] +Signed-off-by: Fabrice Fontaine +--- + configure.ac | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/configure.ac b/configure.ac +index dc15b5595..25039a0d9 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -287,6 +287,9 @@ AC_DEFUN([add_c_flag], [ + # -D_GNU_SOURCE is required for execvpe() in options.c + add_c_flag([-D_GNU_SOURCE], [AC_MSG_ERROR([Cannot enable -D_GNU_SOURCE])]) + ++# Enable gnu99 mode, since we use some of these features. ++add_c_flag([-std=gnu99], [AC_MSG_ERROR([Cannot enable -std=gnu99])]) ++ + # Best attempt compiler options that are on newer versions of GCC that + # we can't widely enforce without killing other peoples builds. + # Works with gcc only. Needs to be disabled on BSD and clang diff --git a/package/tpm2-tools/tpm2-tools.mk b/package/tpm2-tools/tpm2-tools.mk index 981a89a737..41f5bcf201 100644 --- a/package/tpm2-tools/tpm2-tools.mk +++ b/package/tpm2-tools/tpm2-tools.mk @@ -11,6 +11,8 @@ TPM2_TOOLS_LICENSE_FILES = doc/LICENSE TPM2_TOOLS_CPE_ID_VENDOR = tpm2-tools_project TPM2_TOOLS_SELINUX_MODULES = tpm2 TPM2_TOOLS_DEPENDENCIES = libcurl openssl tpm2-tss host-pkgconf util-linux +# We're patching configure.ac +TPM2_TOOLS_AUTORECONF = YES # -fstack-protector-all and FORTIFY_SOURCE=2 is used by # default. Disable that so the BR2_SSP_* / BR2_FORTIFY_SOURCE_* options -- 2.30.2