Updating <sys/cdefs.h> in glibc and gnulib
Florian Weimer
fweimer@redhat.com
Tue Feb 21 10:14:57 GMT 2023
Why does gnulib bundle <sys/cdefs.h>? We edit this file regularly in
glibc. In the past, some gnulib-using programs supplied their own copy
of <sys/cdefs.h> instead, even when building against glibc. This caused
build failures in the glibc headers because they (quite reasonably)
assumed that <sys/cdefs.h> defines the macros for that glibc version.
Does gnulib still override <sys/cdefs.h> unconditionally?
A version check will be difficult because sometimes, we have to backport
header fixes to older versions, and that may require adding additional
macros in <sys/cdefs.h>.
We could move glibc's internal definitions to a new header, reducing
<sys/cdefs.h> in scope, but presumably that means gnulib would just
starting bundling that other header, and we would have the same issue
once more.
Thanks,
Florian
More information about the Libc-alpha
mailing list