glib-2.0: upgrade 2.76.2 -> 2.76.3

(From OE-Core rev: 260bd5c7e69968eb2f58582f309fcadceca50bd2)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Anuj Mittal
2023-06-07 11:25:16 +08:00
committed by Richard Purdie
parent 03b693fd48
commit 1008774116
2 changed files with 1 additions and 38 deletions

View File

@@ -1,36 +0,0 @@
From edd1e47f107410d9e4edb691335410026ae5a534 Mon Sep 17 00:00:00 2001
From: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Date: Tue, 25 Apr 2023 20:02:31 +0200
Subject: [PATCH] Avoid having g_futex_simple() inadvertently modify errno
If both __NR_futex and __NR_futex_time64 are defined, g_futex_simple()
will first call futex_time64(). If that fails with ENOSYS, then
futex_time() is called instead. However, errno was not saved and
restored in this case, which would result in g_futex_simple()
returning with errno set to ENOSYS, even if futex_time() succeeded.
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/edd1e47f107410d9e4edb691335410026ae5a534]
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
---
glib/gthreadprivate.h | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/glib/gthreadprivate.h b/glib/gthreadprivate.h
index 9c847e039..74d37ba32 100644
--- a/glib/gthreadprivate.h
+++ b/glib/gthreadprivate.h
@@ -65,9 +65,13 @@ struct _GRealThread
#define g_futex_simple(uaddr, futex_op, ...) \
G_STMT_START \
{ \
+ int saved_errno = errno; \
int res = syscall (__NR_futex_time64, uaddr, (gsize) futex_op, __VA_ARGS__); \
if (res < 0 && errno == ENOSYS) \
- syscall (__NR_futex, uaddr, (gsize) futex_op, __VA_ARGS__); \
+ { \
+ errno = saved_errno; \
+ syscall (__NR_futex, uaddr, (gsize) futex_op, __VA_ARGS__); \
+ } \
} \
G_STMT_END
#elif defined(__NR_futex_time64)

View File

@@ -14,12 +14,11 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
file://0001-Do-not-write-bindir-into-pkg-config-files.patch \
file://0001-meson-Run-atomics-test-on-clang-as-well.patch \
file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \
file://0001-Avoid-having-g_futex_simple-inadvertently-modify-err.patch \
file://0001-gio-tests-portal-support-Fix-snap-test-ordering-race.patch \
"
SRC_URI:append:class-native = " file://relocate-modules.patch"
SRC_URI[sha256sum] = "24f3847857b1d8674cdb0389a36edec0f13c666cd3ce727ecd340eb9da8aca9e"
SRC_URI[sha256sum] = "c0be444e403d7c3184d1f394f89f0b644710b5e9331b54fa4e8b5037813ad32a"
# Find any meson cross files in FILESPATH that are relevant for the current
# build (using siteinfo) and add them to EXTRA_OEMESON.