Warn if user requests __FORTIFY_SOURCE but it is disabled
authorRoland Mc Grath <roland@hack.frob.com>
Tue, 8 May 2012 17:44:57 +0000 (19:44 +0200)
committerAndreas Jaeger <jaegerandi@gmail.com>
Tue, 8 May 2012 17:44:57 +0000 (19:44 +0200)
[BZ #13979]
        * include/features.h: Warn if user requests __FORTIFY_SOURCE
        checking but the checks are disabled for any reason.

ChangeLog
NEWS
include/features.h

index 6d7759d9e880b2866417dd24245511007aa1d837..cd9002520ff39b59d9c78c819d84e09abd2784b0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2012-05-08  Roland Mc Grath  <roland@hack.frob.com>
+
+        [BZ #13979]
+        * include/features.h: Warn if user requests __FORTIFY_SOURCE
+        checking but the checks are disabled for any reason.
+
 2012-05-08  H.J. Lu  <hongjiu.lu@intel.com>
 
        * sysdeps/x86_64/dl-machine.h: Replace Elf64_XXX with ElfW(XXX)
diff --git a/NEWS b/NEWS
index b2f8a4e78941c2357aeeffb920fe49628e54c2e6..ec7eb929dcb2fe399bfe02731206489f0c469aee 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -23,8 +23,8 @@ Version 2.16
   13854, 13871, 13872, 13873, 13879, 13883, 13884, 13885, 13886, 13892,
   13895, 13908, 13910, 13911, 13912, 13913, 13914, 13915, 13916, 13917,
   13918, 13919, 13920, 13921, 13922, 13923, 13924, 13926, 13927, 13928,
-  13938, 13941, 13942, 13963, 13967, 13970, 13973, 14027, 14033, 14034,
-  14040, 14049, 14055, 14064
+  13938, 13941, 13942, 13963, 13967, 13970, 13973, 13979, 14027, 14033,
+  14034, 14040, 14049, 14055, 14064
 
 * ISO C11 support:
 
index c347555ead27d4feccbd5edf1d234276377641f6..c700871ba574ae8e2690ea7c01ae0432cab86d08 100644 (file)
 # define __USE_REENTRANT       1
 #endif
 
-#if defined _FORTIFY_SOURCE && _FORTIFY_SOURCE > 0 \
-    && __GNUC_PREREQ (4, 1) && defined __OPTIMIZE__ && __OPTIMIZE__ > 0
-# if _FORTIFY_SOURCE > 1
+#if defined _FORTIFY_SOURCE && _FORTIFY_SOURCE > 0
+# if !defined __OPTIMIZE__ || __OPTIMIZE__ <= 0
+#  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
+# elif !__GNUC_PREREQ (4, 1)
+#  warning _FORTIFY_SOURCE requires GCC 4.1 or later
+# elif _FORTIFY_SOURCE > 1
 #  define __USE_FORTIFY_LEVEL 2
 # else
 #  define __USE_FORTIFY_LEVEL 1
 # endif
-#else
+#endif
+#ifndef __USE_FORTIFY_LEVEL
 # define __USE_FORTIFY_LEVEL 0
 #endif