Trying again for termios sanity on Linux

Florian Weimer fweimer@redhat.com
Fri Mar 21 22:12:02 GMT 2025


* H. Peter Anvin:

> What isn't clear to me is how to handle legacy structures and macros
> (in this case the Bnnn macros) in the header files. Are they supposed
> to contain some kind of #ifdefs, or is the user simply expected to
> compile against an older version of glibc (headers and .so files) if
> they want backwards compatibility?

Our development model requires the use of an old glibc (for compilation
*and* linking) if an application needs to run on earlier glibc version.
People have devised various hacks to avoid this, but they are not part
of glibc upstream.

Technically, we also require recompilation of static libraries against
current headers, but we have made some carve-outs in the past.  Symbol
versioning does not apply to static libraries because there is no
linking step that binds the glibc symbol versions at compilation time of
the static library, so linking older libraries incorrectly picks the
newest symbol version.  My hunch is that doesn't matter here because use
of termios facilities is somewhat rare.

Thanks,
Florian



More information about the Libc-alpha mailing list