diff --git a/glibc-RHEL-8381-10.patch b/glibc-RHEL-8381-10.patch new file mode 100644 index 0000000..f84af6e --- /dev/null +++ b/glibc-RHEL-8381-10.patch @@ -0,0 +1,39 @@ +Partial revert of commit c36fc50781995e6758cae2b6927839d0157f213c +to restore the layout of pthread_cond_t and avoid a downstream +rpminspect and abidiff (libabigail tooling) spurious warning +about internal ABI changes. Without this change all RHEL developers +using pthread_cond_t would have to audit and waive the warning. +The alternative is to update the supression lists used in abidiff, +propagate that to the rpminspect service, and wait for that to +complete before doing the update. The more conservative position +is the partial revert of the layout change. + +This is a downstream-only change and is not required upstream. + +diff --git a/sysdeps/nptl/bits/thread-shared-types.h b/sysdeps/nptl/bits/thread-shared-types.h +index dcb799b130178f3f..798e0de31680065b 100644 +--- a/sysdeps/nptl/bits/thread-shared-types.h ++++ b/sysdeps/nptl/bits/thread-shared-types.h +@@ -188,7 +188,8 @@ struct __pthread_cond_s + unsigned int __high; + } __g1_start32; + }; +- unsigned int __g_size[2] __LOCK_ALIGNMENT; ++ unsigned int __glibc_unused___g_refs[2] __LOCK_ALIGNMENT; ++ unsigned int __g_size[2]; + unsigned int __g1_orig_size; + unsigned int __wrefs; + unsigned int __g_signals[2]; +diff --git a/sysdeps/nptl/pthread.h b/sysdeps/nptl/pthread.h +index 4f7adccdab1d6e9e..df049abf74d47522 100644 +--- a/sysdeps/nptl/pthread.h ++++ b/sysdeps/nptl/pthread.h +@@ -184,7 +184,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 */ diff --git a/glibc.spec b/glibc.spec index 333259a..9e6f364 100644 --- a/glibc.spec +++ b/glibc.spec @@ -115,7 +115,7 @@ end \ Summary: The GNU libc libraries Name: glibc Version: %{glibcversion} -Release: %{glibcrelease}.12 +Release: %{glibcrelease}.13 # In general, GPLv2+ is used by programs, LGPLv2+ is used for # libraries. @@ -1257,6 +1257,7 @@ Patch1022: glibc-RHEL-8381-6.patch Patch1023: glibc-RHEL-8381-7.patch Patch1024: glibc-RHEL-8381-8.patch Patch1025: glibc-RHEL-8381-9.patch +Patch1026: glibc-RHEL-8381-10.patch ############################################################################## # Continued list of core "glibc" package information: @@ -2918,6 +2919,9 @@ fi %{_libdir}/libpthread_nonshared.a %changelog +* Fri Feb 7 2025 Carlos O'Donell - 2.28-251.13 +- Restore internal ABI to avoid tooling false positives (RHEL-8381) + * Thu Jan 30 2025 Carlos O'Donell - 2.28-251.12 - Fix missed wakeup in POSIX thread condition variables (RHEL-8381)