aboutsummaryrefslogtreecommitdiffstats
path: root/man7/feature_test_macros.7
diff options
context:
space:
mode:
Diffstat (limited to 'man7/feature_test_macros.7')
-rw-r--r--man7/feature_test_macros.75
1 files changed, 5 insertions, 0 deletions
diff --git a/man7/feature_test_macros.7 b/man7/feature_test_macros.7
index 6d7a48f089..fc31db27a0 100644
--- a/man7/feature_test_macros.7
+++ b/man7/feature_test_macros.7
@@ -254,12 +254,14 @@ This is useful for performing I/O on large files (> 2 Gigabytes)
on 32-bit systems.
(Defining this macro permits correctly written programs to use
large files with only a recompilation being required.)
+
64-bit systems naturally permit file sizes greater than 2 Gigabytes,
and on those systems this macro has no effect.
.TP
.B _BSD_SOURCE
Defining this macro with any value causes header files to expose
BSD-derived definitions.
+
In glibc versions up to and including 2.18,
defining this macro also causes BSD definitions to be preferred in
some situations where standards conflict, unless one or more of
@@ -362,6 +364,7 @@ Defining this macro causes some lightweight checks to be performed
to detect some buffer overflow errors when employing
various string and memory manipulation functions.
Not all buffer overflows are detected, just some common cases.
+
In the current implementation, checks are added for
calls to
.BR memcpy (3),
@@ -379,6 +382,7 @@ calls to
.BR vsnprintf (3),
and
.BR gets (3).
+
If
.B _FORTIFY_SOURCE
is set to 1, with compiler optimization level 1
@@ -393,6 +397,7 @@ Some of the checks can be performed at compile time,
and result in compiler warnings;
other checks take place at run time,
and result in a run-time error if the check fails.
+
Use of this macro requires compiler support, available with
.BR gcc (1)
since version 4.0.