This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB 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]

[binutils-gdb] Define _FORTIFY_SOURCE in common-defs.h


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=a97b53dda99526d7c2890aeb9637008790cbdfa9

commit a97b53dda99526d7c2890aeb9637008790cbdfa9
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Aug 10 09:03:47 2018 -0600

    Define _FORTIFY_SOURCE in common-defs.h
    
    This defines _FORTIFY_SOURCE in common-defs.h.  This seems like a
    sensible safety measure, and also it may help avoid build problems
    with -Wunused-result on distros that already define _FORTIFY_SOURCE by
    default.
    
    Tested by the buildbot.
    
    gdb/ChangeLog
    2018-08-13  Tom Tromey  <tom@tromey.com>
    
    	* common/common-defs.h (_FORTIFY_SOURCE): Define.

Diff:
---
 gdb/ChangeLog            |  4 ++++
 gdb/common/common-defs.h | 12 ++++++++++++
 2 files changed, 16 insertions(+)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 0e1848c..37ab81b 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,7 @@
+2018-08-13  Tom Tromey  <tom@tromey.com>
+
+	* common/common-defs.h (_FORTIFY_SOURCE): Define.
+
 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
 
 	* aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): New function.
diff --git a/gdb/common/common-defs.h b/gdb/common/common-defs.h
index 80f1ff4..58445b1 100644
--- a/gdb/common/common-defs.h
+++ b/gdb/common/common-defs.h
@@ -59,6 +59,18 @@
 #define __STDC_LIMIT_MACROS 1
 #define __STDC_FORMAT_MACROS 1
 
+/* Some distros enable _FORTIFY_SOURCE by default, which on occasion
+   has caused build failures with -Wunused-result when a patch is
+   developed on a distro that does not enable _FORTIFY_SOURCE.  We
+   enable it here in order to try to catch these problems earlier;
+   plus this seems like a reasonable safety measure.  The check for
+   optimization is required because _FORTIFY_SOURCE only works when
+   optimization is enabled.  */
+
+#if defined __OPTIMIZE__ && __OPTIMIZE__ > 0
+#define _FORTIFY_SOURCE 2
+#endif
+
 #include <stdarg.h>
 #include <stdio.h>
 #include <stdlib.h>


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