From a9d13b96dcb6d7e35297dcb9a2a76772e8a6f657 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Fri, 10 Apr 2026 08:42:26 +0200 Subject: [PATCH] mesa: fix build on host with glibc-2.43 (From OE-Core rev: ee8ff68e508e7e57a999a4008c8eeaa8e2d4563f) Signed-off-by: Martin Jansa Signed-off-by: Yoann Congal Signed-off-by: Paul Barker --- .../0001-c11-threads-fix-build-on-c23.patch | 56 +++++++++++++++++++ meta/recipes-graphics/mesa/mesa.inc | 1 + 2 files changed, 57 insertions(+) create mode 100644 meta/recipes-graphics/mesa/files/0001-c11-threads-fix-build-on-c23.patch diff --git a/meta/recipes-graphics/mesa/files/0001-c11-threads-fix-build-on-c23.patch b/meta/recipes-graphics/mesa/files/0001-c11-threads-fix-build-on-c23.patch new file mode 100644 index 0000000000..f4de5e61a9 --- /dev/null +++ b/meta/recipes-graphics/mesa/files/0001-c11-threads-fix-build-on-c23.patch @@ -0,0 +1,56 @@ +From 3f007af78283aea2e8c1a3addff7aeae862d8b28 Mon Sep 17 00:00:00 2001 +From: Dave Airlie +Date: Fri, 7 Nov 2025 13:14:56 +1000 +Subject: [PATCH] c11/threads: fix build on c23 + +C23/glibc is now including once_init in stdlib.h + +https://patchwork.sourceware.org/project/glibc/patch/78061085-f04a-0c45-107b-5a8a15521083@redhat.com/#213088 + +Just fix up our use of it. + +Cc: mesa-stable +Reviewed-by: Yonggang Luo +Part-of: + +Upstream-Status: Backport [v26.0.0 179e744f7577d98df7c79d7324c22acfb32a0154] +Signed-off-by: Martin Jansa +--- + src/c11/impl/threads_posix.c | 3 ++- + src/c11/threads.h | 2 ++ + 2 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/c11/impl/threads_posix.c b/src/c11/impl/threads_posix.c +index 2540e3e0c49..f75774fc51d 100644 +--- a/src/c11/impl/threads_posix.c ++++ b/src/c11/impl/threads_posix.c +@@ -70,12 +70,13 @@ impl_thrd_routine(void *p) + + /*--------------- 7.25.2 Initialization functions ---------------*/ + // 7.25.2.1 ++#ifndef __once_flag_defined + void + call_once(once_flag *flag, void (*func)(void)) + { + pthread_once(flag, func); + } +- ++#endif + + /*------------- 7.25.3 Condition variable functions -------------*/ + // 7.25.3.1 +diff --git a/src/c11/threads.h b/src/c11/threads.h +index dbcb3459a9b..c849f385e30 100644 +--- a/src/c11/threads.h ++++ b/src/c11/threads.h +@@ -118,8 +118,10 @@ typedef pthread_cond_t cnd_t; + typedef pthread_t thrd_t; + typedef pthread_key_t tss_t; + typedef pthread_mutex_t mtx_t; ++#ifndef __once_flag_defined + typedef pthread_once_t once_flag; + # define ONCE_FLAG_INIT PTHREAD_ONCE_INIT ++#endif + # ifdef PTHREAD_DESTRUCTOR_ITERATIONS + # define TSS_DTOR_ITERATIONS PTHREAD_DESTRUCTOR_ITERATIONS + # else diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index 9157fe9c3f..eb23a3f82c 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -19,6 +19,7 @@ SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \ file://0001-drisw-fix-build-without-dri3.patch \ file://0002-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch \ file://0001-Revert-meson-do-not-pull-in-clc-for-clover.patch \ + file://0001-c11-threads-fix-build-on-c23.patch \ " SRC_URI[sha256sum] = "7454425f1ed4a6f1b5b107e1672b30c88b22ea0efea000ae2c7d96db93f6c26a"