summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Krummenacher <max.krummenacher@toradex.com>2025-05-12 09:37:31 +0200
committerMax Krummenacher <max.krummenacher@toradex.com>2025-05-12 09:37:31 +0200
commit693c297a195b5196cb2fd317057ab32b5926dbb9 (patch)
tree000cec3ec967bd8e398447fefdf2e6e5cbe291a7
parentdd0b82ccbcb1a648555def12b6f1d3501a93f545 (diff)
downloadmeta-freescale-693c297a195b5196cb2fd317057ab32b5926dbb9.tar.gz
imx-vpu-hantro: fix build with gcc 15
Change from deprecated K&R function declaration and definitions to ANSI C style. GCC 15 by default no longer accepts it: | decoder_sw/software/test/common/md5_sink.c:68:3: error: too many | arguments to function 'MD5Init'; expected 0, have 1 | 68 | MD5Init(&inst->ctx); With C23 bool, true and false are built in keywords and cannot be redefined. Fixes build error: | ../inc/basetype.h:71:9: error: cannot use keyword 'false' as enumeration constant | 71 | false = 0, Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
-rw-r--r--recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-basetype.h-make-header-compatible-with-c23.patch38
-rw-r--r--recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-test-md5-convert-to-ansi-c.patch90
-rw-r--r--recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.36.0.bb6
3 files changed, 133 insertions, 1 deletions
diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-basetype.h-make-header-compatible-with-c23.patch b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-basetype.h-make-header-compatible-with-c23.patch
new file mode 100644
index 00000000..bbfec172
--- /dev/null
+++ b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-basetype.h-make-header-compatible-with-c23.patch
@@ -0,0 +1,38 @@
1From e39a6602817e4221ae09ac3d520ca6a0d94814dc Mon Sep 17 00:00:00 2001
2From: Max Krummenacher <max.krummenacher@toradex.com>
3Date: Wed, 7 May 2025 16:13:38 +0000
4Subject: [PATCH] basetype.h: make header compatible with c23
5
6With C23 bool, true and false are built in keywords and cannot be
7redefined.
8
9Upstream-Status: Pending
10Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
11---
12 h1_encoder/software/inc/basetype.h | 4 ++++
13 1 file changed, 4 insertions(+)
14
15diff --git a/h1_encoder/software/inc/basetype.h b/h1_encoder/software/inc/basetype.h
16index 55e46a195b3b..6655ec54481b 100755
17--- a/h1_encoder/software/inc/basetype.h
18+++ b/h1_encoder/software/inc/basetype.h
19@@ -66,12 +66,16 @@ typedef size_t ptr_t;
20 #define PRT_PTR "x"
21 #endif
22
23+#if defined __STDC_VERSION__ && __STDC_VERSION__ > 201710L
24+/* bool, true and false are keywords. */
25+#else
26 #ifndef __cplusplus
27 typedef enum {
28 false = 0,
29 true = 1
30 } bool;
31 #endif
32+#endif
33
34 #else /* __symbian__ or __win__ or whatever, customize it to suit well */
35
36--
372.42.0
38
diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-test-md5-convert-to-ansi-c.patch b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-test-md5-convert-to-ansi-c.patch
new file mode 100644
index 00000000..da1af2b9
--- /dev/null
+++ b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-test-md5-convert-to-ansi-c.patch
@@ -0,0 +1,90 @@
1From 0c5bdd12a6f3ba73e605656828bf429966a997ef Mon Sep 17 00:00:00 2001
2From: Max Krummenacher <max.krummenacher@toradex.com>
3Date: Wed, 7 May 2025 13:25:26 +0000
4Subject: [PATCH] test: md5: convert to ansi c
5
6GCC 15 no longer likes this K&R style function declarations.
7
8Upstream-Status: Pending
9Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
10---
11 decoder_sw/software/test/common/swhw/md5.c | 15 +++++----------
12 decoder_sw/software/test/common/swhw/md5.h | 8 ++++----
13 2 files changed, 9 insertions(+), 14 deletions(-)
14
15diff --git a/decoder_sw/software/test/common/swhw/md5.c b/decoder_sw/software/test/common/swhw/md5.c
16index c3334bf751fd..20014fbdf268 100755
17--- a/decoder_sw/software/test/common/swhw/md5.c
18+++ b/decoder_sw/software/test/common/swhw/md5.c
19@@ -42,8 +42,7 @@
20 /*
21 * Note: this code is harmless on little-endian machines.
22 */
23-void ByteReverse(buf, longs) unsigned char *buf;
24-unsigned longs;
25+void ByteReverse(unsigned char *buf, unsigned longs)
26 {
27 uint32 t;
28 do {
29@@ -59,7 +58,7 @@ unsigned longs;
30 * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious
31 * initialization constants.
32 */
33-void MD5Init(ctx) struct MD5Context *ctx;
34+void MD5Init(struct MD5Context *ctx)
35 {
36 ctx->buf[0] = 0x67452301;
37 ctx->buf[1] = 0xefcdab89;
38@@ -74,9 +73,7 @@ void MD5Init(ctx) struct MD5Context *ctx;
39 * Update context to reflect the concatenation of another buffer full
40 * of bytes.
41 */
42-void MD5Update(ctx, buf, len) struct MD5Context *ctx;
43-unsigned char *buf;
44-unsigned len;
45+void MD5Update(struct MD5Context *ctx, unsigned char *buf, unsigned len)
46 {
47 uint32 t;
48
49@@ -124,8 +121,7 @@ unsigned len;
50 * Final wrapup - pad to 64-byte boundary with the bit pattern
51 * 1 0* (64-bit count of bits processed, MSB-first)
52 */
53-void MD5Final(digest, ctx) unsigned char digest[16];
54-struct MD5Context *ctx;
55+void MD5Final(unsigned char digest[16], struct MD5Context *ctx)
56 {
57 unsigned count;
58 unsigned char *p;
59@@ -186,8 +182,7 @@ struct MD5Context *ctx;
60 * reflect the addition of 16 longwords of new data. MD5Update blocks
61 * the data and converts bytes into longwords for this routine.
62 */
63-void MD5Transform(buf, in) uint32 buf[4];
64-uint32 in[16];
65+void MD5Transform(uint32 buf[4], uint32 in[16])
66 {
67 register uint32 a, b, c, d;
68
69diff --git a/decoder_sw/software/test/common/swhw/md5.h b/decoder_sw/software/test/common/swhw/md5.h
70index 516400236606..c1d773093b66 100755
71--- a/decoder_sw/software/test/common/swhw/md5.h
72+++ b/decoder_sw/software/test/common/swhw/md5.h
73@@ -76,10 +76,10 @@ struct MD5Context {
74 unsigned char in[64];
75 };
76
77-extern void MD5Init();
78-extern void MD5Update();
79-extern void MD5Final();
80-extern void MD5Transform();
81+extern void MD5Init(struct MD5Context *ctx);
82+extern void MD5Update(struct MD5Context *ctx, unsigned char *buf, unsigned len);
83+extern void MD5Final(unsigned char digest[16], struct MD5Context *ctx);
84+extern void MD5Transform(uint32 buf[4], uint32 in[16]);
85
86 /*
87 * This is needed to make RSAREF happy on some MS-DOS compilers.
88--
892.42.0
90
diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.36.0.bb b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.36.0.bb
index 645d2554..3a171942 100644
--- a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.36.0.bb
+++ b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.36.0.bb
@@ -6,7 +6,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
6 6
7PROVIDES = "virtual/imxvpu" 7PROVIDES = "virtual/imxvpu"
8 8
9SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true" 9SRC_URI = " \
10 ${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true \
11 file://0001-test-md5-convert-to-ansi-c.patch \
12 file://0001-basetype.h-make-header-compatible-with-c23.patch \
13"
10IMX_SRCREV_ABBREV = "194a305" 14IMX_SRCREV_ABBREV = "194a305"
11 15
12SRC_URI[sha256sum] = "0ef1fb5c6653c08f2d2812c72dedf3e8beb091dd5b3d70d6e26f41bac4ebffa7" 16SRC_URI[sha256sum] = "0ef1fb5c6653c08f2d2812c72dedf3e8beb091dd5b3d70d6e26f41bac4ebffa7"