[Bug other/58996] [4.9 regression] build failure in libcilkrts

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Jan 10 16:11:00 GMT 2014


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58996

--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Not everything in glibc headers is meant for use by other packages, some
symbols in there are just implementation details that can change any time.
The affinity support is complicated, as it has changed several times in the
history.  There are glibc 2.3.3 (2003-ish) versions of the APIs without size
parameters and 2.3.4 (2004-ish) versions of the APIs with size parameter, and
the macros changed several times, with the last API changes in glibc 2.7
(2007-ish).
So, ideally you want to grab glibc 2.3.2, glibc 2.3.3, glibc 2.3.4, glibc 2.5,
glibc 2.6, glibc 2.7 headers and test against all those.
You want to support more than 1024 CPUs in the masks too, at least for building
with sufficiently new glibc, handle the case when there is no affinity support
in glibc at all (or there is, but it fails at runtime because e.g. kernel is
too old), and depending on what versions of headers you want to handle (there
are still long time support distros with e.g. glibc 2.5) use either the non-_S
or _S macros.



More information about the Gcc-bugs mailing list