From 79554a4520f3d3c07c3ddf12e6c64669b5a9cc8a Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Wed, 26 Aug 2026 16:13:36 +0200 Subject: [PATCH] package/mesa3d: fix build issue with gcc < 13 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Since upstream commit e42e3193137d1b21e84b499336e7a8887b8a8689 ("intel: add Jay"), a C23 construct is used in the intel driver code: enum jay_predication : uint8_t This causes a build issue with GCC < 13: In file included from ../src/intel/compiler/jay/jay_builder.h:12, from ../src/intel/compiler/jay/jay_from_nir.c:23: ../src/intel/compiler/jay/jay_ir.h:582:22: error: expected identifier or ‘(’ before ‘:’ token 582 | enum jay_predication : uint8_t { | ^ ../src/intel/compiler/jay/jay_ir.h:637:25: error: field ‘predication’ has incomplete type 637 | enum jay_predication predication; | ^~~~~~~~~~~ We fix that by integrating a patch already available in OpenEmbedded. It changes the code to not use the C23 construct. This build issue was encountered on host-mesa3d while building an allyespackageconfig configuration inside our standard Docker container. Buildroot commit c073c976179021c84e0c84f6f23e938b43783e75 ("package/{mesa3d, mesa3d-headers}: bump version to 26.1.0") that switched to mesa3d 26.1.0, which contains the problematic commit. Therefore 2026.05 is affected, but not earlier Buildroot versions. Signed-off-by: Thomas Petazzoni Signed-off-by: Julien Olivain --- ...er-jay-jay_ir.h-do-not-used-typed-en.patch | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 package/mesa3d/0005-src-intel-compiler-jay-jay_ir.h-do-not-used-typed-en.patch diff --git a/package/mesa3d/0005-src-intel-compiler-jay-jay_ir.h-do-not-used-typed-en.patch b/package/mesa3d/0005-src-intel-compiler-jay-jay_ir.h-do-not-used-typed-en.patch new file mode 100644 index 0000000000..af066287e2 --- /dev/null +++ b/package/mesa3d/0005-src-intel-compiler-jay-jay_ir.h-do-not-used-typed-en.patch @@ -0,0 +1,41 @@ +From 345ccf93e9d00dfd0f71085832a7df0170b74f74 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Sun, 14 Jun 2026 17:42:19 +0200 +Subject: [PATCH] src/intel/compiler/jay/jay_ir.h: do not used typed enum + +This is a C23 feature and not supported by gcc < 13, which +many host distros still have (e.g. Debian 12). + +Upstream-Status: Inappropriate [yocto host distro requirements] +Signed-off-by: Alexander Kanavin +Upstream: N/A, code completely changed upstream +Signed-off-by: Thomas Petazzoni +--- + src/intel/compiler/jay/jay_ir.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/intel/compiler/jay/jay_ir.h b/src/intel/compiler/jay/jay_ir.h +index 8307044ef8a..abf175a71bf 100644 +--- a/src/intel/compiler/jay/jay_ir.h ++++ b/src/intel/compiler/jay/jay_ir.h +@@ -579,7 +579,7 @@ jay_type_is_any_float(enum jay_type t) + return jay_base_type(t) == JAY_TYPE_F || jay_base_type(t) == JAY_TYPE_BF; + } + +-enum jay_predication : uint8_t { ++enum jay_predication { + /** No predication. */ + JAY_NOT_PREDICATED = 0, + +@@ -634,7 +634,7 @@ typedef struct jay_inst { + bool decrement_dep:1; + unsigned padding :12; + +- enum jay_predication predication; ++ uint8_t predication; + enum jay_conditional_mod conditional_mod; + + jay_def cond_flag; /**< conditional flag */ +-- +2.55.0 +