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. */