From: Denys Dmytriyenko <denis@denix.org>
To: Mikko Rapeli <mikko.rapeli@linaro.org>
Cc: meta-arm@lists.yoctoproject.org, Denys Dmytriyenko <denys@konsulko.com>
Subject: Re: [meta-arm] [PATCH] optee-test: Suppress new gcc-15 -Wunterminated-string-initialization
Date: Wed, 7 May 2025 03:17:13 -0400 [thread overview]
Message-ID: <20250507071713.GK18383@denix.org> (raw)
In-Reply-To: <aBr-XXXtYacQM1yy@nuoska>
On Wed, May 07, 2025 at 09:31:57AM +0300, Mikko Rapeli wrote:
> Hi,
>
> On Tue, May 06, 2025 at 09:41:07PM -0400, Denys Dmytriyenko via lists.yoctoproject.org wrote:
> > From: Denys Dmytriyenko <denys@konsulko.com>
> >
> > Mark corresponding arrays with nonstring attribute to suppress the new
> > gcc-15 warning -Wunterminated-string-initialization that becomes an
> > error due to the global -Werror.
> >
> > Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
> > ---
> > ...-15-Wunterminated-string-initializat.patch | 69 +++++++++++++++++++
> > .../optee/optee-test_4.4.0.bb | 1 +
> > 2 files changed, 70 insertions(+)
> > create mode 100644 meta-arm/recipes-security/optee/optee-test/0001-Suppress-new-gcc-15-Wunterminated-string-initializat.patch
> >
> > diff --git a/meta-arm/recipes-security/optee/optee-test/0001-Suppress-new-gcc-15-Wunterminated-string-initializat.patch b/meta-arm/recipes-security/optee/optee-test/0001-Suppress-new-gcc-15-Wunterminated-string-initializat.patch
> > new file mode 100644
> > index 00000000..0f52f3d6
> > --- /dev/null
> > +++ b/meta-arm/recipes-security/optee/optee-test/0001-Suppress-new-gcc-15-Wunterminated-string-initializat.patch
> > @@ -0,0 +1,69 @@
> > +From a8e58203dcb4c13ee340259cd2692202ac8414d1 Mon Sep 17 00:00:00 2001
> > +From: Denys Dmytriyenko <denys@konsulko.com>
> > +Date: Tue, 6 May 2025 21:35:55 -0400
> > +Subject: [PATCH] Suppress new gcc-15 -Wunterminated-string-initialization
> > +
> > +GCC 15 now warns when character arrays are being initialized by strings
> > +and terminating NUL character doesn't fit. GCC 15.1 also allows marking
> > +such arrays with nonstring attribute to suppress the warning. W/o such
> > +attribute, the warning becomes error due to the global -Werror. Add the
> > +attribute accordingly.
> > +
> > +Fixes these errors:
> > +
> > +| ./regression_4000_data.h:7919:9: error: initializer-string for array of 'unsigned char' truncates NUL terminator but destination lacks 'nonstring' attribute (20 chars into 19 available) [-Werror=unterminated-string-initialization]
> > +| 7919 | "encryption standard";
> > +| | ^~~~~~~~~~~~~~~~~~~~~
> > +| ./regression_4000_data.h:8387:9: error: initializer-string for array of 'unsigned char' truncates NUL terminator but destination lacks 'nonstring' attribute (113 chars into 112 available) [-Werror=unterminated-string-initialization]
> > +| 8387 | "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomn"
> > +| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > +| ./regression_4000.c:1295:47: error: initializer-string for array of 'unsigned char' truncates NUL terminator but destination lacks 'nonstring' attribute (4 chars into 3 available) [-Werror=unterminated-string-initialization]
> > +| 1295 | static const uint8_t hash_data_sm3_a1_in[3] = "abc";
> > +| | ^~~~~
> > +
> > +Upstream-Status: Pending
>
> Thanks, this is the correct fix. Can you submit upstream? They react
> pretty fast there.
Already did.
Upstream-Status: Submitted [https://github.com/OP-TEE/optee_test/pull/796]
> I still don't like -Werror as default since compiler and versions
> at distro/intregrator level may differ greatly from what upstream
> uses and supports.
>
> Cheers,
>
> -Mikko
>
> > +Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
> > +---
> > + host/xtest/regression_4000.c | 2 +-
> > + host/xtest/regression_4000_data.h | 4 ++--
> > + 2 files changed, 3 insertions(+), 3 deletions(-)
> > +
> > +diff --git a/host/xtest/regression_4000.c b/host/xtest/regression_4000.c
> > +index 3aa15be..46e6f8e 100644
> > +--- a/host/xtest/regression_4000.c
> > ++++ b/host/xtest/regression_4000.c
> > +@@ -1292,7 +1292,7 @@ static const uint8_t hash_data_shake256_out2[] = {
> > + * https://tools.ietf.org/html/draft-sca-cfrg-sm3-02
> > + * Appendix A.1
> > + */
> > +-static const uint8_t hash_data_sm3_a1_in[3] = "abc";
> > ++static const uint8_t hash_data_sm3_a1_in[3] __attribute__((nonstring)) = "abc";
> > +
> > + static const uint8_t hash_data_sm3_a1_out[] = {
> > + 0x66, 0xc7, 0xf0, 0xf4, 0x62, 0xee, 0xed, 0xd9,
> > +diff --git a/host/xtest/regression_4000_data.h b/host/xtest/regression_4000_data.h
> > +index 0881ac3..eb101b2 100644
> > +--- a/host/xtest/regression_4000_data.h
> > ++++ b/host/xtest/regression_4000_data.h
> > +@@ -7914,7 +7914,7 @@ static struct derive_key_ecdh_t {
> > + };
> > +
> > + /* G/MT 0003 (SM2) Part 5 Annex C.2 - encryption/decryption */
> > +-static const uint8_t gmt_0003_part5_c2_sm2_testvector_ptx[19] =
> > ++static const uint8_t gmt_0003_part5_c2_sm2_testvector_ptx[19] __attribute__((nonstring)) =
> > + /* M */
> > + "encryption standard";
> > + static const uint8_t gmt_0003_part5_c2_sm2_testvector_private[] = {
> > +@@ -8383,7 +8383,7 @@ static const uint8_t mac_data_sha3_512_out1[] = {
> > + * GM/T 0042-2015
> > + * Section D.3 Test vector 1
> > + */
> > +-static const uint8_t mac_data_sm3_d31_in[112] =
> > ++static const uint8_t mac_data_sm3_d31_in[112] __attribute__((nonstring)) =
> > + "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomn"
> > + "opnopqabcdbcdecdefdefgefghfghighijhijkijkljklmklmn"
> > + "lmnomnopnopq";
> > +--
> > +2.25.1
> > +
> > diff --git a/meta-arm/recipes-security/optee/optee-test_4.4.0.bb b/meta-arm/recipes-security/optee/optee-test_4.4.0.bb
> > index d514c82c..80df523d 100644
> > --- a/meta-arm/recipes-security/optee/optee-test_4.4.0.bb
> > +++ b/meta-arm/recipes-security/optee/optee-test_4.4.0.bb
> > @@ -5,6 +5,7 @@ SRCREV = "695231ef8987866663a9ed5afd8f77d1bae3dc08"
> >
> > LIC_FILES_CHKSUM = "file://LICENSE.md;md5=a8fa504109e4cd7ea575bc49ea4be560"
> >
> > +SRC_URI += "file://0001-Suppress-new-gcc-15-Wunterminated-string-initializat.patch"
> >
> > # Include ffa_spmc test group if the SPMC test is enabled.
> > # Supported after op-tee v3.20
> > --
> > 2.25.1
prev parent reply other threads:[~2025-05-07 7:17 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-07 1:41 [PATCH] optee-test: Suppress new gcc-15 -Wunterminated-string-initialization Denys Dmytriyenko
2025-05-07 6:31 ` [meta-arm] " Mikko Rapeli
2025-05-07 7:17 ` Denys Dmytriyenko [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250507071713.GK18383@denix.org \
--to=denis@denix.org \
--cc=denys@konsulko.com \
--cc=meta-arm@lists.yoctoproject.org \
--cc=mikko.rapeli@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.