summary refs log tree commit diff
diff options
context:
space:
mode:
authorCarlos O'Donell <carlos@redhat.com>2014-02-25 13:23:25 -0500
committerCarlos O'Donell <carlos@redhat.com>2014-02-25 13:23:25 -0500
commitade40b10ff5fa59a318cf55b9d8414b758e8df78 (patch)
tree599c080add2a6060c32f97d8e2c8c47318b7fb4e
parentd050367659e04685a0eab910e86ea6829a8d24f9 (diff)
downloadglibc-ade40b10ff5fa59a318cf55b9d8414b758e8df78.tar.gz
glibc-ade40b10ff5fa59a318cf55b9d8414b758e8df78.tar.xz
glibc-ade40b10ff5fa59a318cf55b9d8414b758e8df78.zip
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
-rw-r--r--ChangeLog6
-rw-r--r--NEWS2
-rw-r--r--include/features.h7
3 files changed, 12 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 9e564f7fd1..e6246ea1ff 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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>
 	    Carlos O'Donell  <carlos@redhat.com>
 
diff --git a/NEWS b/NEWS
index ae9c3d62c8..acd04def8d 100644
--- a/NEWS
+++ b/NEWS
@@ -10,7 +10,7 @@ Version 2.20
 * The following bugs are resolved with this release:
 
   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
   from ports.
diff --git a/include/features.h b/include/features.h
index 75237a7984..c3ed81fa19 100644
--- a/include/features.h
+++ b/include/features.h
@@ -140,8 +140,11 @@
 #endif
 
 /* _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for
-   _DEFAULT_SOURCE.  */
-#if defined _BSD_SOURCE || defined _SVID_SOURCE
+   _DEFAULT_SOURCE.  If _DEFAULT_SOURCE is present we do not
+   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"
 # undef  _DEFAULT_SOURCE
 # define _DEFAULT_SOURCE	1