From: Khem Raj Date: Mon, 10 Nov 2025 20:37:51 +0000 (-0800) Subject: virglrenderer: Fix build with glibc 2.43+ X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8e85dc6b7f5f7668a610b5fd3754c716f0af65b0;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git virglrenderer: Fix build with glibc 2.43+ Signed-off-by: Khem Raj Signed-off-by: Mathieu Dubois-Briand --- diff --git a/meta/recipes-graphics/virglrenderer/virglrenderer/0001-c11-use-glibc-s-once_flag-ONCE_FLAG_INIT-when-presen.patch b/meta/recipes-graphics/virglrenderer/virglrenderer/0001-c11-use-glibc-s-once_flag-ONCE_FLAG_INIT-when-presen.patch new file mode 100644 index 00000000000..1740d7605f8 --- /dev/null +++ b/meta/recipes-graphics/virglrenderer/virglrenderer/0001-c11-use-glibc-s-once_flag-ONCE_FLAG_INIT-when-presen.patch @@ -0,0 +1,55 @@ +From 179e744f7577d98df7c79d7324c22acfb32a0154 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. + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/1567] +Signed-off-by: Khem Raj +--- + src/mesa/compat/c11/impl/threads_posix.c | 3 ++- + 2 files changed, 4 insertions(+), 1 deletion(-) + +--- a/src/mesa/compat/c11/threads_posix.h ++++ b/src/mesa/compat/c11/threads_posix.h +@@ -51,7 +51,9 @@ Configuration macro: + #include + + /*---------------------------- macros ----------------------------*/ ++#ifndef __once_flag_defined + #define ONCE_FLAG_INIT PTHREAD_ONCE_INIT ++#endif + #ifdef INIT_ONCE_STATIC_INIT + #define TSS_DTOR_ITERATIONS PTHREAD_DESTRUCTOR_ITERATIONS + #else +@@ -66,8 +68,9 @@ 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; +- ++#endif + + /* + Implementation limits: +@@ -90,12 +93,13 @@ impl_thrd_routine(void *p) + + /*--------------- 7.25.2 Initialization functions ---------------*/ + // 7.25.2.1 ++#ifndef __once_flag_defined + static inline 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/meta/recipes-graphics/virglrenderer/virglrenderer_1.1.1.bb b/meta/recipes-graphics/virglrenderer/virglrenderer_1.1.1.bb index 89dd25de70e..be4385ada61 100644 --- a/meta/recipes-graphics/virglrenderer/virglrenderer_1.1.1.bb +++ b/meta/recipes-graphics/virglrenderer/virglrenderer_1.1.1.bb @@ -12,6 +12,7 @@ DEPENDS = "libdrm libepoxy python3-pyyaml-native virtual/egl virtual/libgbm" SRCREV = "0f1f43929724a6a414c01a29bc51feccb445c2f0" SRC_URI = "git://gitlab.freedesktop.org/virgl/virglrenderer.git;branch=main;protocol=https;tag=${PV} \ file://0001-meson.build-use-python3-directly-for-python.patch \ + file://0001-c11-use-glibc-s-once_flag-ONCE_FLAG_INIT-when-presen.patch \ " inherit meson pkgconfig features_check