mirror of
https://git.yoctoproject.org/poky
synced 2026-05-07 16:59:22 +00:00
virglrenderer: Fix build with glibc 2.43+
(From OE-Core rev: 73be494b2586d8b73cc14dddebfc1753df233530) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Martin Jansa <martin.jansa@gmail.com> (cherry picked from commit 8e85dc6b7f5f7668a610b5fd3754c716f0af65b0) Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Paul Barker <paul@pbarker.dev>
This commit is contained in:
+55
@@ -0,0 +1,55 @@
|
||||
From 179e744f7577d98df7c79d7324c22acfb32a0154 Mon Sep 17 00:00:00 2001
|
||||
From: Dave Airlie <airlied@redhat.com>
|
||||
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 <raj.khem@gmail.com>
|
||||
---
|
||||
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 <pthread.h>
|
||||
|
||||
/*---------------------------- 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
|
||||
@@ -13,6 +13,7 @@ SRCREV = "690680e5f0f952e22424fca1538c1b24457a0868"
|
||||
SRC_URI = "git://gitlab.freedesktop.org/virgl/virglrenderer.git;branch=main;protocol=https \
|
||||
file://0001-meson.build-use-python3-directly-for-python.patch \
|
||||
file://0001-vrend-Fix-int-conversion-fatal-build-error-with-GCC-.patch \
|
||||
file://0001-c11-use-glibc-s-once_flag-ONCE_FLAG_INIT-when-presen.patch \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
Reference in New Issue
Block a user