2017-02-27 22:34:52 UTC
gnulib uses the _REENTRANT and _THREAD_SAFE macros in a couple of modules:
Does anyone know in detail what this glibc change  means in detail?
* The nonstandard feature selection macros _REENTRANT and _THREAD_SAFE
are now treated as compatibility synonyms for _POSIX_C_SOURCE=199506L.
Since the GNU C Library defaults to a much newer revision of POSIX,
this will only affect programs that specifically request an old
conformance mode. For instance, a program compiled with -std=c89
-D_REENTRANT will see a change in the visible declarations, but a
program compiled with just -D_REENTRANT, or -std=c99
-D_POSIX_C_SOURCE=200809L -D_REENTRANT, will not.
Some C libraries once required _REENTRANT and/or _THREAD_SAFE to be
defined by all multithreaded code, but glibc has not required this for
Does it mean that _REENTRANT and _THREAD_SAFE now prevent some symbols
from being declared?
My perspective is not "what has changed between glibc 2.24 and 2.25" but
"In glibc 2.25, what is the effect of defining _REENTRANT or _THREAD_SAFE?".
May it cause harm to add _REENTRANT or _THREAD_SAFE to the CPPFLAGS?