From: Christian Biesinger Date: Wed, 18 Dec 2019 18:06:43 +0000 (-0600) Subject: Don't define _FORTIFY_SOURCE on MinGW X-Git-Url: http://git.efficios.com/?p=deliverable%2Fbinutils-gdb.git;a=commitdiff_plain;h=5f23a08201ed01570b34f5cff99a95fc7b9e2fdb Don't define _FORTIFY_SOURCE on MinGW Recent MinGW versions require -lssp when using _FORTIFY_SOURCE, which gdb does (in common-defs.h) https://github.com/msys2/MINGW-packages/issues/5868#issuecomment-544107564 To avoid all the complications with checking for -lssp and making sure it's linked statically, just don't define it. gdb/ChangeLog: 2020-01-09 Christian Biesinger * gdbsupport/common-defs.h: Don't define _FORTIFY_SOURCE on MinGW. Change-Id: Ide6870ab57198219a2ef78bc675768a789ca2b1d --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index d22a5e12d6..fc0656c03d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2020-01-09 Christian Biesinger + + * gdbsupport/common-defs.h: Don't define _FORTIFY_SOURCE on MinGW. + 2020-01-08 Simon Marchi * thread.c (print_thread_info_1): Fix indentation. diff --git a/gdb/gdbsupport/common-defs.h b/gdb/gdbsupport/common-defs.h index 88b05ef723..214bca1ee1 100644 --- a/gdb/gdbsupport/common-defs.h +++ b/gdb/gdbsupport/common-defs.h @@ -66,9 +66,13 @@ plus this seems like a reasonable safety measure. The check for optimization is required because _FORTIFY_SOURCE only works when optimization is enabled. If _FORTIFY_SOURCE is already defined, - then we don't do anything. */ + then we don't do anything. Also, on MinGW, fortify requires + linking to -lssp, and to avoid the hassle of checking for + that and linking to it statically, we just don't define + _FORTIFY_SOURCE there. */ -#if !defined _FORTIFY_SOURCE && defined __OPTIMIZE__ && __OPTIMIZE__ > 0 +#if (!defined _FORTIFY_SOURCE && defined __OPTIMIZE__ && __OPTIMIZE__ > 0 \ + && !defined(__MINGW32__)) #define _FORTIFY_SOURCE 2 #endif