Hide internal struct _IO_FILE ABI change in installed header (RHEL-46738)

Related: RHEL-46738
This commit is contained in:
Florian Weimer 2025-02-10 17:29:48 +01:00
parent bc9f002dda
commit d45151a852
2 changed files with 31 additions and 1 deletions

26
glibc-RHEL-46738-5.patch Normal file
View File

@ -0,0 +1,26 @@
Downstream-only patch to restore the extern ABI for functions
like fprintf that use the FILE * type. Rebuilds of applications
receive ABI change reports because of this installed header change
(indirect subtype change in libabigail terms), and given that
this part of struct _IO_FILE is strictly internal, there is no
need to expose this change to installed headers.
diff --git a/libio/bits/types/struct_FILE.h b/libio/bits/types/struct_FILE.h
index 0e73f89f813ef3b8..f7f756a701ce0e93 100644
--- a/libio/bits/types/struct_FILE.h
+++ b/libio/bits/types/struct_FILE.h
@@ -71,9 +71,14 @@ struct _IO_FILE
struct _IO_FILE *_chain;
int _fileno;
+#ifdef _LIBC
int _flags2:24;
/* Fallback buffer to use when malloc fails to allocate one. */
char _short_backupbuf[1];
+#else
+ /* Legacy ABI for ABI checking outside of glibc. */
+ int _flags2;
+#endif
__off_t _old_offset; /* This used to be _offset but it's too small. */
/* 1+column number of pbase(); 0 is unknown. */

View File

@ -157,7 +157,7 @@ end \
Summary: The GNU libc libraries
Name: glibc
Version: %{glibcversion}
Release: 164%{?dist}
Release: 165%{?dist}
# In general, GPLv2+ is used by programs, LGPLv2+ is used for
# libraries.
@ -1108,6 +1108,7 @@ Patch800: glibc-RHEL-2419-7.patch
Patch801: glibc-RHEL-2419-8.patch
Patch802: glibc-RHEL-2419-9.patch
Patch803: glibc-RHEL-2419-10.patch
Patch804: glibc-RHEL-46738-5.patch
##############################################################################
# Continued list of core "glibc" package information:
@ -3101,6 +3102,9 @@ update_gconv_modules_cache ()
%endif
%changelog
* Mon Feb 10 2025 Florian Weimer <fweimer@redhat.com> - 2.34-165
- Hide internal struct _IO_FILE ABI change in installed header (RHEL-46738)
* Fri Feb 7 2025 Carlos O'Donell <carlos@redhat.com> - 2.34-164
- Fix missed wakeup in POSIX thread condition variables (RHEL-2419)