From: Sunil Dora Date: Tue, 14 Oct 2025 14:43:47 +0000 (-0700) Subject: glibc: : PTHREAD_COND_INITIALIZER compatibility with pre-2.41 versions (bug 32786) X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fheads%2Fstable%2Fkirkstone-next;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git glibc: : PTHREAD_COND_INITIALIZER compatibility with pre-2.41 versions (bug 32786) The following commits have been cherry-picked from Glibc master branch: Bug : https://sourceware.org/bugzilla/show_bug.cgi?id=25847 [1] https://sourceware.org/git/?p=glibc.git;a=commit;h=dbc5a50d12eff4cb3f782129029d04b8a76f58e7 [2] https://sourceware.org/pipermail/libc-stable/2025-July/002282.html Signed-off-by: Sunil Dora Signed-off-by: Steve Sakoman --- diff --git a/meta/recipes-core/glibc/glibc/0026-PR25847-10.patch b/meta/recipes-core/glibc/glibc/0026-PR25847-10.patch new file mode 100644 index 0000000000..99049d468a --- /dev/null +++ b/meta/recipes-core/glibc/glibc/0026-PR25847-10.patch @@ -0,0 +1,54 @@ +From 4f78382dd671f381db6d1f452e6f1593d17b177e Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Tue, 14 Oct 2025 06:53:40 -0700 +Subject: [PATCH] nptl: PTHREAD_COND_INITIALIZER compatibility with pre-2.41 + versions (bug 32786) + +The new initializer and struct layout does not initialize the +__g_signals field in the old struct layout before the change in +commit c36fc50781995e6758cae2b6927839d0157f213c ("nptl: Remove +g_refs from condition variables"). Bring back fields at the end +of struct __pthread_cond_s, so that they are again zero-initialized. + +The following commits have been cherry-picked from Glibc master branch: +Bug : https://sourceware.org/bugzilla/show_bug.cgi?id=25847 +commit: dbc5a50d12eff4cb3f782129029d04b8a76f58e7 + +Upstream-Status: Submitted +[https://sourceware.org/pipermail/libc-stable/2025-July/002282.html] + +Signed-off-by: Sunil Dora +--- + sysdeps/nptl/bits/thread-shared-types.h | 2 ++ + sysdeps/nptl/pthread.h | 2 +- + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/sysdeps/nptl/bits/thread-shared-types.h b/sysdeps/nptl/bits/thread-shared-types.h +index 6f17afa4..2354ea21 100644 +--- a/sysdeps/nptl/bits/thread-shared-types.h ++++ b/sysdeps/nptl/bits/thread-shared-types.h +@@ -99,6 +99,8 @@ struct __pthread_cond_s + unsigned int __g1_orig_size; + unsigned int __wrefs; + unsigned int __g_signals[2]; ++ unsigned int __unused_initialized_1; ++ unsigned int __unused_initialized_2; + }; + + typedef unsigned int __tss_t; +diff --git a/sysdeps/nptl/pthread.h b/sysdeps/nptl/pthread.h +index bbb36540..8d6d24ff 100644 +--- a/sysdeps/nptl/pthread.h ++++ b/sysdeps/nptl/pthread.h +@@ -152,7 +152,7 @@ enum + + + /* Conditional variable handling. */ +-#define PTHREAD_COND_INITIALIZER { { {0}, {0}, {0, 0}, 0, 0, {0, 0} } } ++#define PTHREAD_COND_INITIALIZER { { {0}, {0}, {0, 0}, 0, 0, {0, 0}, 0, 0 } } + + + /* Cleanup buffers */ +-- +2.49.0 + diff --git a/meta/recipes-core/glibc/glibc_2.35.bb b/meta/recipes-core/glibc/glibc_2.35.bb index 26e8d8c408..1b5830699f 100644 --- a/meta/recipes-core/glibc/glibc_2.35.bb +++ b/meta/recipes-core/glibc/glibc_2.35.bb @@ -71,6 +71,7 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ file://0026-PR25847-7.patch \ file://0026-PR25847-8.patch \ file://0026-PR25847-9.patch \ + file://0026-PR25847-10.patch \ \ file://0001-Revert-Linux-Implement-a-useful-version-of-_startup_.patch \ file://0002-get_nscd_addresses-Fix-subscript-typos-BZ-29605.patch \