This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.19-39-gc941736


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  c941736c92fa3a319221f65f6755659b2a5e0a20 (commit)
      from  e8d8d7ec98af7c3777fd664adca8be5630afbc90 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=c941736c92fa3a319221f65f6755659b2a5e0a20

commit c941736c92fa3a319221f65f6755659b2a5e0a20
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Tue Feb 11 23:40:07 2014 +0000

    Remove _BSD_SOURCE and _SVID_SOURCE.
    
    This is a minimal patch to remove _BSD_SOURCE and _SVID_SOURCE from
    the documented user API, making them into aliases for _DEFAULT_SOURCE
    with a #warning given, but keeping most of the features.h logic using
    those macros and all the exising __USE_* conditionals, on the basis
    that all the consequent cleanups will go in followup patches.
    
    Tested x86_64.
    
    	* include/features.h: Update comment documenting feature test
    	macros.
    	[_BSD_SOURCE || _SVID_SOURCE]: Give #warning.  Define
    	_DEFAULT_SOURCE.
    	* manual/creature.texi (_BSD_SOURCE): Remove documentation.
    	(_SVID_SOURCE): Likewise.
    	(_DEFAULT_SOURCE): Update description of default features.
    	(Feature Test Macros): Don't mention _SVID_SOURCE in conjunction
    	with _GNU_SOURCE.
    	* manual/filesys.texi (__ftw_func_t): Do not refer to _BSD_SOURCE.
    	(S_ISVTX): Likewise.
    	* manual/math.texi (Mathematical Constants): Likewise.
    	* manual/signal.texi (Interrupted Primitives): Likewise.
    	* manual/startup.texi (putenv): Do not refer to _SVID_SOURCE.
    	* math/test-matherr.c (_SVID_SOURCE): Do not define.
    	* sysvipc/sys/ipc.h [__USE_SVID && !__USE_XOPEN && __GNUC__ >= 2]:
    	Don't refer to _SVID_SOURCE in warning text.

diff --git a/ChangeLog b/ChangeLog
index 8480d29..a4b4f85 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,23 @@
 2014-02-11  Joseph Myers  <joseph@codesourcery.com>
 
+	* include/features.h: Update comment documenting feature test
+	macros.
+	[_BSD_SOURCE || _SVID_SOURCE]: Give #warning.  Define
+	_DEFAULT_SOURCE.
+	* manual/creature.texi (_BSD_SOURCE): Remove documentation.
+	(_SVID_SOURCE): Likewise.
+	(_DEFAULT_SOURCE): Update description of default features.
+	(Feature Test Macros): Don't mention _SVID_SOURCE in conjunction
+	with _GNU_SOURCE.
+	* manual/filesys.texi (__ftw_func_t): Do not refer to _BSD_SOURCE.
+	(S_ISVTX): Likewise.
+	* manual/math.texi (Mathematical Constants): Likewise.
+	* manual/signal.texi (Interrupted Primitives): Likewise.
+	* manual/startup.texi (putenv): Do not refer to _SVID_SOURCE.
+	* math/test-matherr.c (_SVID_SOURCE): Do not define.
+	* sysvipc/sys/ipc.h [__USE_SVID && !__USE_XOPEN && __GNUC__ >= 2]:
+	Don't refer to _SVID_SOURCE in warning text.
+
 	* sysdeps/x86_64/fpu/libm-test-ulps: Update.
 
 	* elf/dl-lookup.c (ELF_MACHINE_SYM_NO_MATCH): Define if not
diff --git a/NEWS b/NEWS
index 0f4b8d4..2da9754 100644
--- a/NEWS
+++ b/NEWS
@@ -13,6 +13,14 @@ Version 2.20
 
 * The am33 port, which had not worked for several years, has been removed
   from ports.
+
+* The _BSD_SOURCE and _SVID_SOURCE feature test macros are no longer
+  supported; they now act the same as _DEFAULT_SOURCE (but generate a
+  warning).  Except for cases where _BSD_SOURCE enabled BSD interfaces that
+  conflicted with POSIX (support for which was removed in 2.19), the
+  interfaces those macros enabled remain available when compiling with
+  _GNU_SOURCE defined, with _DEFAULT_SOURCE defined, or without any feature
+  test macros defined.
 
 Version 2.19
 
diff --git a/include/features.h b/include/features.h
index 21173a2..c729a3f 100644
--- a/include/features.h
+++ b/include/features.h
@@ -37,8 +37,6 @@
    _LARGEFILE_SOURCE	Some more functions for correct standard I/O.
    _LARGEFILE64_SOURCE	Additional functionality from LFS for large files.
    _FILE_OFFSET_BITS=N	Select default filesystem interface.
-   _BSD_SOURCE		ISO C, POSIX, and 4.3BSD things.
-   _SVID_SOURCE		ISO C, POSIX, and SVID things.
    _ATFILE_SOURCE	Additional *at interfaces.
    _GNU_SOURCE		All of the above, plus GNU extensions.
    _DEFAULT_SOURCE	The default set of features (taking precedence over
@@ -51,11 +49,11 @@
    The `-ansi' switch to the GNU C compiler, and standards conformance
    options such as `-std=c99', define __STRICT_ANSI__.  If none of
    these are defined, or if _DEFAULT_SOURCE is defined, the default is
-   to have _SVID_SOURCE, _BSD_SOURCE, and _POSIX_SOURCE set to one and
-   _POSIX_C_SOURCE set to 200809L.  If more than one of these are
-   defined, they accumulate.  For example __STRICT_ANSI__,
-   _POSIX_SOURCE and _POSIX_C_SOURCE together give you ISO C, 1003.1,
-   and 1003.2, but nothing else.
+   to have _POSIX_SOURCE set to one and _POSIX_C_SOURCE set to
+   200809L, as well as enabling miscellaneous functions from BSD and
+   SVID.  If more than one of these are defined, they accumulate.  For
+   example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE together
+   give you ISO C, 1003.1, and 1003.2, but nothing else.
 
    These are defined by this file and are used by the
    header files to decide what to declare or define:
@@ -145,6 +143,13 @@
 # define __GNUC_PREREQ(maj, min) 0
 #endif
 
+/* _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for
+   _DEFAULT_SOURCE.  */
+#if defined _BSD_SOURCE || defined _SVID_SOURCE
+# warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
+# undef  _DEFAULT_SOURCE
+# define _DEFAULT_SOURCE	1
+#endif
 
 /* If _GNU_SOURCE was defined by the user, turn on all the other features.  */
 #ifdef _GNU_SOURCE
diff --git a/manual/creature.texi b/manual/creature.texi
index bbf16b7..3c68616 100644
--- a/manual/creature.texi
+++ b/manual/creature.texi
@@ -73,20 +73,6 @@ edition is made available.
 @end defvr
 
 @comment (none)
-@comment GNU
-@defvr Macro _BSD_SOURCE
-If you define this macro, functionality derived from 4.3 BSD Unix is
-included as well as the @w{ISO C}, POSIX.1, and POSIX.2 material.
-@end defvr
-
-@comment (none)
-@comment GNU
-@defvr Macro _SVID_SOURCE
-If you define this macro, functionality derived from SVID is
-included as well as the @w{ISO C}, POSIX.1, POSIX.2, and X/Open material.
-@end defvr
-
-@comment (none)
 @comment X/Open
 @defvr Macro _XOPEN_SOURCE
 @comment (none)
@@ -192,9 +178,9 @@ precedence.
 @comment GNU
 @defvr Macro _DEFAULT_SOURCE
 If you define this macro, most features are included apart from
-X/Open, LFS and GNU extensions; the effect is similar to defining
-@code{_POSIX_C_SOURCE} to @code{200809L} and @code{_POSIX_SOURCE},
-@code{_SVID_SOURCE}, and @code{_BSD_SOURCE} to 1.  Defining this
+X/Open, LFS and GNU extensions: the effect is to enable features from
+the 2008 edition of POSIX, as well as certain BSD and SVID features
+without a separate feature test macro to control them.  Defining this
 macro, on its own and without using compiler options such as
 @option{-ansi} or @option{-std=c99}, has the same effect as not
 defining any feature test macros; defining it together with other
@@ -229,4 +215,4 @@ it is harmless to define in addition a feature test macro for a subset of
 those features.  For example, if you define @code{_POSIX_C_SOURCE}, then
 defining @code{_POSIX_SOURCE} as well has no effect.  Likewise, if you
 define @code{_GNU_SOURCE}, then defining either @code{_POSIX_SOURCE} or
-@code{_POSIX_C_SOURCE} or @code{_SVID_SOURCE} as well has no effect.
+@code{_POSIX_C_SOURCE} as well has no effect.
diff --git a/manual/filesys.texi b/manual/filesys.texi
index 1c9d7d7..9bf5baf 100644
--- a/manual/filesys.texi
+++ b/manual/filesys.texi
@@ -893,7 +893,7 @@ seeing this value in a @code{ftw} callback function means the referenced
 file does not exist.  The situation for @code{nftw} is different.
 
 This value is only available if the program is compiled with
-@code{_BSD_SOURCE} or @code{_XOPEN_EXTENDED} defined before including
+@code{_XOPEN_EXTENDED} defined before including
 the first header.  The original SVID systems do not have symbolic links.
 @end vtable
 
@@ -2553,8 +2553,9 @@ the file's modification time onto disk reliably (the idea being that
 no-one cares for a swap file).
 
 This bit is only available on BSD systems (and those derived from
-them).  Therefore one has to use the @code{_BSD_SOURCE} feature select
-macro to get the definition (@pxref{Feature Test Macros}).
+them).  Therefore one has to use the @code{_GNU_SOURCE} feature select
+macro, or not define any feature test macros, to get the definition
+(@pxref{Feature Test Macros}).
 @end table
 
 The actual bit values of the symbols are listed in the table above
diff --git a/manual/math.texi b/manual/math.texi
index 1527441..a884cb7 100644
--- a/manual/math.texi
+++ b/manual/math.texi
@@ -106,7 +106,7 @@ The reciprocal of the square root of two (also the square root of 1/2).
 @end vtable
 
 These constants come from the Unix98 standard and were also available in
-4.4BSD; therefore they are only defined if @code{_BSD_SOURCE} or
+4.4BSD; therefore they are only defined if
 @code{_XOPEN_SOURCE=500}, or a more general feature select macro, is
 defined.  The default set of features includes these constants.
 @xref{Feature Test Macros}.
diff --git a/manual/signal.texi b/manual/signal.texi
index f0e57dd..51f68b5 100644
--- a/manual/signal.texi
+++ b/manual/signal.texi
@@ -2141,16 +2141,9 @@ that handler will cause @code{EINTR}.  @xref{Flags for Sigaction}.
 Another way to specify the choice is with the @code{siginterrupt}
 function.  @xref{BSD Handler}.
 
-@c !!! not true now about _BSD_SOURCE
 When you don't specify with @code{sigaction} or @code{siginterrupt} what
 a particular handler should do, it uses a default choice.  The default
-choice in @theglibc{} depends on the feature test macros you have
-defined.  If you define @code{_BSD_SOURCE} or @code{_GNU_SOURCE} before
-calling @code{signal}, the default is to resume primitives; otherwise,
-the default is to make them fail with @code{EINTR}.  (The library
-contains alternate versions of the @code{signal} function, and the
-feature test macros determine which one you really call.)  @xref{Feature
-Test Macros}.
+choice in @theglibc{} is to make primitives fail with @code{EINTR}.
 @cindex EINTR, and restarting interrupted primitives
 @cindex restarting interrupted primitives
 @cindex interrupting primitives
diff --git a/manual/startup.texi b/manual/startup.texi
index a5d2d2f..9a091a5 100644
--- a/manual/startup.texi
+++ b/manual/startup.texi
@@ -379,9 +379,8 @@ reflect automatically in the environment.  This also requires that
 variable is removed from the environment.  The same applies of course to
 dynamically allocated variables which are freed later.
 
-This function is part of the extended Unix interface.  Since it was also
-available in old SVID libraries you should define either
-@var{_XOPEN_SOURCE} or @var{_SVID_SOURCE} before including any header.
+This function is part of the extended Unix interface.  You should define
+@var{_XOPEN_SOURCE} before including any header.
 @end deftypefun
 
 
diff --git a/math/test-matherr.c b/math/test-matherr.c
index 91657a8..cd09a39 100644
--- a/math/test-matherr.c
+++ b/math/test-matherr.c
@@ -1,5 +1,3 @@
-#undef _SVID_SOURCE
-#define _SVID_SOURCE
 #include <math.h>
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/sysvipc/sys/ipc.h b/sysvipc/sys/ipc.h
index 8d5d6ac..a1af531 100644
--- a/sysvipc/sys/ipc.h
+++ b/sysvipc/sys/ipc.h
@@ -21,7 +21,7 @@
 #include <features.h>
 
 #if !defined __USE_SVID && !defined __USE_XOPEN && __GNUC__ >= 2
-# warning "Files using this header must be compiled with _SVID_SOURCE or _XOPEN_SOURCE"
+# warning "Files using this header must be compiled with _GNU_SOURCE or _XOPEN_SOURCE"
 #endif
 
 /* Get system dependent definition of `struct ipc_perm' and more.  */

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog            |   18 ++++++++++++++++++
 NEWS                 |    8 ++++++++
 include/features.h   |   19 ++++++++++++-------
 manual/creature.texi |   22 ++++------------------
 manual/filesys.texi  |    7 ++++---
 manual/math.texi     |    2 +-
 manual/signal.texi   |    9 +--------
 manual/startup.texi  |    5 ++---
 math/test-matherr.c  |    2 --
 sysvipc/sys/ipc.h    |    2 +-
 10 files changed, 51 insertions(+), 43 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]