public inbox for glibc-cvs@sourceware.org
help / color / mirror / Atom feed
* [glibc/maskray/grte] manual: Document missing feature test macros.
@ 2021-08-27 23:27 Fangrui Song
  0 siblings, 0 replies; only message in thread
From: Fangrui Song @ 2021-08-27 23:27 UTC (permalink / raw)
  To: glibc-cvs

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=438b2796743027b35302daeb66830307e4e7d909

commit 438b2796743027b35302daeb66830307e4e7d909
Author: Rical Jasan <ricaljasan@pacific.net>
Date:   Mon Feb 19 03:30:06 2018 -0800

    manual: Document missing feature test macros.
    
    Several feature test macros are documented in features.h but absent in
    the manual, and some documented macros accept undocumented values.
    This commit updates the manual to mention all the accepted macros,
    along with any values that hold special meaning.
    
            * manual/creature.texi (_POSIX_C_SOURCE): Document special
            values of 199606L, 200112L, and 200809L.
            (_XOPEN_SOURCE): Document special values of 600 and 700.
            (_ISOC11_SOURCE): Document macro.
            (_ATFILE_SOURCE): Likewise.
            (_FORTIFY_SOURCE): Likewise.
    
    (cherry picked from commit 6a3962c4a408e8cbc305d2433711196107374e89)
    (cherry picked from commit da81ae645d8ee89052f109c814a68a9489f562e6)

Diff:
---
 ChangeLog            | 10 ++++++++++
 NEWS                 |  1 +
 manual/creature.texi | 39 +++++++++++++++++++++++++++++++++++++--
 3 files changed, 48 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 3ae0ecd07a..911e0900b7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2018-02-20  Rical Jasan  <ricaljasan@pacific.net>
+
+	[BZ #16335]
+	* manual/creature.texi (_POSIX_C_SOURCE): Document special values
+	of 199606L, 200112L, and 200809L.
+	(_XOPEN_SOURCE): Document special values of 600 and 700.
+	(_ISOC11_SOURCE): Document macro.
+	(_ATFILE_SOURCE): Likewise.
+	(_FORTIFY_SOURCE): Likewise.
+
 2018-03-09  Aurelien Jarno  <aurelien@aurel32.net>
 
 	[BZ #22919]
diff --git a/NEWS b/NEWS
index e237227c9f..d3ca5289b0 100644
--- a/NEWS
+++ b/NEWS
@@ -10,6 +10,7 @@ Version 2.27.1
 The following bugs are resolved with this release:
 
   [6889] 'PWD' mentioned but not specified
+  [16335] Feature test macro documentation incomplete and out of date
   [22638] sparc: static binaries are broken if glibc is built by gcc
     configured with --enable-default-pie
   [22735] Misleading typo in time.h source comment regarding CLOCKS_PER_SECOND
diff --git a/manual/creature.texi b/manual/creature.texi
index 2e05958756..483bf85ad7 100644
--- a/manual/creature.texi
+++ b/manual/creature.texi
@@ -61,13 +61,27 @@ If you define this macro to a value greater than or equal to @code{199309L},
 then the functionality from the 1993 edition of the POSIX.1b standard
 (IEEE Standard 1003.1b-1993) is made available.
 
+If you define this macro to a value greater than or equal to
+@code{199506L}, then the functionality from the 1995 edition of the
+POSIX.1c standard (IEEE Standard 1003.1c-1995) is made available.
+
+If you define this macro to a value greater than or equal to
+@code{200112L}, then the functionality from the 2001 edition of the
+POSIX standard (IEEE Standard 1003.1-2001) is made available.
+
+If you define this macro to a value greater than or equal to
+@code{200809L}, then the functionality from the 2008 edition of the
+POSIX standard (IEEE Standard 1003.1-2008) is made available.
+
 Greater values for @code{_POSIX_C_SOURCE} will enable future extensions.
 The POSIX standards process will define these values as necessary, and
 @theglibc{} should support them some time after they become standardized.
 The 1996 edition of POSIX.1 (ISO/IEC 9945-1: 1996) states that
 if you define @code{_POSIX_C_SOURCE} to a value greater than
 or equal to @code{199506L}, then the functionality from the 1996
-edition is made available.
+edition is made available.  In general, in @theglibc{}, bugfixes to
+the standards are included when specifying the base version; e.g.,
+POSIX.1-2004 will always be included with a value of @code{200112L}.
 @end defvr
 
 @defvr Macro _XOPEN_SOURCE
@@ -87,7 +101,10 @@ available which are necessary for the X/Open Unix brand.
 
 If the macro @code{_XOPEN_SOURCE} has the value @math{500} this includes
 all functionality described so far plus some new definitions from the
-Single Unix Specification, @w{version 2}.
+Single Unix Specification, @w{version 2}.  The value @math{600}
+(corresponding to the sixth revision) includes definitions from SUSv3,
+and using @math{700} (the seventh revision) includes definitions from
+SUSv4.
 @end defvr
 
 @defvr Macro _LARGEFILE_SOURCE
@@ -156,6 +173,11 @@ implementation of the new standard and to enable the new features the
 macro @code{_ISOC99_SOURCE} should be defined.
 @end defvr
 
+@defvr Macro _ISOC11_SOURCE
+@standards{C11, (none)}
+If this macro is defined, ISO C11 extensions to ISO C99 are included.
+@end defvr
+
 @defvr Macro __STDC_WANT_LIB_EXT2__
 @standards{ISO, (none)}
 If you define this macro to the value @code{1}, features from ISO/IEC
@@ -209,6 +231,19 @@ enables those features even when the other options would otherwise
 cause them to be disabled.
 @end defvr
 
+@defvr Macro _ATFILE_SOURCE
+@standards{GNU, (none)}
+If this macro is defined, additional @code{*at} interfaces are
+included.
+@end defvr
+
+@defvr Macro _FORTIFY_SOURCE
+@standards{GNU, (none)}
+If this macro is defined to @math{1}, security hardening is added to
+various library functions.  If defined to @math{2}, even stricter
+checks are applied.
+@end defvr
+
 @defvr Macro _REENTRANT
 @defvrx Macro _THREAD_SAFE
 @standards{Obsolete, (none)}


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-08-27 23:27 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-27 23:27 [glibc/maskray/grte] manual: Document missing feature test macros Fangrui Song

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).