BZ #16632: Change [_BSD/_SVID]_SOURCE warning.

Source packages that need to support both 2.19 and
2.20 will need to decide to use _BSD_SOURCE and
_SVID_SOURCE vs. _DEFAULT_SOURCE.

The difficulty in making that decision is that
__GLIBC_MINOR__ is itself defined in features.h,
but you want to set the feature test macros before
including features.h.

Therefore to ease the transition we should disable
the warning if _DEFAULT_SOURCE is also defined.

https://sourceware.org/ml/libc-alpha/2014-02/msg00666.html

https://sourceware.org/glibc/wiki/Release/2.20#Packaging_Changes
This commit is contained in:
Carlos O'Donell 2014-02-25 13:23:25 -05:00
parent d050367659
commit ade40b10ff
3 changed files with 12 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2014-02-25 Carlos O'Donell <carlos@redhat.com>
[BZ #16632]
* include/features.h: Don't warn about _BSD_SOURCE or _SVID_SOURCE if
_DEFAULT_SOURCE is defined.
2014-02-25 Ulrich Drepper <drepper@gmail.com> 2014-02-25 Ulrich Drepper <drepper@gmail.com>
Carlos O'Donell <carlos@redhat.com> Carlos O'Donell <carlos@redhat.com>

2
NEWS
View File

@ -10,7 +10,7 @@ Version 2.20
* The following bugs are resolved with this release: * The following bugs are resolved with this release:
15347, 15804, 15894, 16447, 16545, 16574, 16600, 16609, 16610, 16611, 15347, 15804, 15894, 16447, 16545, 16574, 16600, 16609, 16610, 16611,
16613. 16613, 16632.
* The am33 port, which had not worked for several years, has been removed * The am33 port, which had not worked for several years, has been removed
from ports. from ports.

View File

@ -140,8 +140,11 @@
#endif #endif
/* _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for /* _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for
_DEFAULT_SOURCE. */ _DEFAULT_SOURCE. If _DEFAULT_SOURCE is present we do not
#if defined _BSD_SOURCE || defined _SVID_SOURCE issue a warning; the expectation is that the source is being
transitioned to use the new macro. */
#if (defined _BSD_SOURCE || defined _SVID_SOURCE) \
&& !defined _DEFAULT_SOURCE
# warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
# undef _DEFAULT_SOURCE # undef _DEFAULT_SOURCE
# define _DEFAULT_SOURCE 1 # define _DEFAULT_SOURCE 1