From: Mike Frysinger Date: Tue, 9 Nov 2021 02:42:12 +0000 (-0500) Subject: newlib: ignore _FORTIFY_SOURCE when building newlib X-Git-Tag: newlib-snapshot-20211231~73 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=df5de02e0ebc8627683bc50aeb68d0d2b0806f09;p=newlib-cygwin.git newlib: ignore _FORTIFY_SOURCE when building newlib Some distros enable _FORTIFY_SOURCE by default which upsets building newlib which itself implements the logic for this define. For example, building gets.c fails because the includes set up a gets() macro which expands in the definition. Since newlib isn't prepared to build itself with _FORTIFY_SOURCE, and it's not clear if it's even useful, ignore it when building the code. This also matches what glibc is doing. --- diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h index 218807178..6b4999e83 100644 --- a/newlib/libc/include/sys/features.h +++ b/newlib/libc/include/sys/features.h @@ -320,7 +320,8 @@ extern "C" { #endif #if _FORTIFY_SOURCE > 0 && !defined(__cplusplus) && !defined(__lint__) && \ - (__OPTIMIZE__ > 0 || defined(__clang__)) && __GNUC_PREREQ__(4, 1) + (__OPTIMIZE__ > 0 || defined(__clang__)) && __GNUC_PREREQ__(4, 1) && \ + !defined(_COMPILING_NEWLIB) # if _FORTIFY_SOURCE > 1 # define __SSP_FORTIFY_LEVEL 2 # else