package/mesa3d: fix build issue with gcc < 13

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
c073c97617 ("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 <thomas.petazzoni@bootlin.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
This commit is contained in:
Thomas Petazzoni
2026-08-26 16:13:36 +02:00
committed by Julien Olivain
parent 34473e672b
commit 79554a4520

View File

@@ -0,0 +1,41 @@
From 345ccf93e9d00dfd0f71085832a7df0170b74f74 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex@linutronix.de>
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 <alex@linutronix.de>
Upstream: N/A, code completely changed upstream
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
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