From: Dagg Stompler Date: Fri, 11 Sep 2020 09:39:22 +0000 (+0300) Subject: package/meson-tools: fix build with older gcc versions X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b70114eecd47fc7d95361c5ef01bcd25cf8f6a55;p=buildroot.git package/meson-tools: fix build with older gcc versions The meson-tools code uses C99 constructs without passing -std=c99, which causes the build to fail with old gcc versions. Since there are very few instances of C99 constructs, we simply patch them out. Fixes: - http://autobuild.buildroot.net/results/602d474a12cf2400e4f38ffad903758d7fd9f2f5 - http://autobuild.buildroot.net/results/65cfe582ce60fcff18afd008c3d469471ffb0e49 Signed-off-by: Dagg Stompler Signed-off-by: Thomas Petazzoni --- diff --git a/package/meson-tools/0001-amlbootenc-gxl-remove-non-std-C-convention-in-for.patch b/package/meson-tools/0001-amlbootenc-gxl-remove-non-std-C-convention-in-for.patch new file mode 100644 index 0000000000..243c59b5c1 --- /dev/null +++ b/package/meson-tools/0001-amlbootenc-gxl-remove-non-std-C-convention-in-for.patch @@ -0,0 +1,50 @@ +From 7c5475187d1bdf861360ffd8bc1aaea84a341db3 Mon Sep 17 00:00:00 2001 +From: Dagg Stompler +Date: Fri, 11 Sep 2020 12:28:52 +0300 +Subject: [PATCH] amlbootenc-gxl: remove non std C convention in for + +not all compilers have c99 or gnu99 enabled, so try not to use a +non std C convention in for call loops + +Signed-off-by: Dagg Stompler +--- + amlbootenc-gxl.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/amlbootenc-gxl.c b/amlbootenc-gxl.c +index 3695e13..233563d 100644 +--- a/amlbootenc-gxl.c ++++ b/amlbootenc-gxl.c +@@ -51,6 +51,7 @@ static int boot_enc(const char *input, const char *output) + ._unknown3 = 0x02000000, + .sig2 = AMLOGIC_C_SIGNATURE, + }; ++ int i; + + assert(sizeof(hdr) == 0x100); + +@@ -130,10 +131,10 @@ static int boot_enc(const char *input, const char *output) + memcpy(hdr.iv, (uint8_t[]){ 0x14, 0x82, 0x5b, 0x1b, 0x10, 0xc1, 0x49, 0x0d, 0x8f, 0x13, 0x0a, 0x99, 0x15, 0x50, 0x1d, 0x37 }, 16); + } + #else +- for (int i = 0; i < sizeof(hdr.key); i++) { ++ for (i = 0; i < sizeof(hdr.key); i++) { + hdr.key[i] = rand(); + } +- for (int i = 0; i < sizeof(hdr.iv); i++) { ++ for (i = 0; i < sizeof(hdr.iv); i++) { + hdr.iv[i] = rand(); + } + #endif +@@ -151,7 +152,7 @@ static int boot_enc(const char *input, const char *output) + AES_cbc_encrypt(src_buf, buf + hdr.first_offset, hdr.block_size, &aes_key, iv, AES_ENCRYPT); + SHA256_Update(&sha256_ctx, buf + hdr.first_offset, hdr.block_size); + +- for (int i = 1; i < hdr.payload_size / hdr.block_size; i++) { ++ for (i = 1; i < hdr.payload_size / hdr.block_size; i++) { + memset(src_buf, 0, hdr.block_size); + fread(src_buf, 1, hdr.block_size, fin); + AES_cbc_encrypt(src_buf, buf + hdr.data_offset + (i - 1) * hdr.block_size, hdr.block_size, &aes_key, iv, AES_ENCRYPT); +-- +2.28.0 +