diff options
Diffstat (limited to 'main/gcc/10_all_default-fortify-source.patch')
-rw-r--r-- | main/gcc/10_all_default-fortify-source.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/main/gcc/10_all_default-fortify-source.patch b/main/gcc/10_all_default-fortify-source.patch new file mode 100644 index 0000000000..e74d60cc2c --- /dev/null +++ b/main/gcc/10_all_default-fortify-source.patch @@ -0,0 +1,31 @@ +Enable -D_FORTIFY_SOURCE=2 by default. + +Original patch from: +http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.2/gentoo/10_all_default-fortify-source.patch + +--- a/gcc/c-family/c-cppbuiltin.c ++++ b/gcc/c-family/c-cppbuiltin.c +@@ -951,6 +951,9 @@ c_cpp_builtins (cpp_reader *pfile) + builtin_define_with_value ("__REGISTER_PREFIX__", REGISTER_PREFIX, 0); + builtin_define_with_value ("__USER_LABEL_PREFIX__", user_label_prefix, 0); + ++ /* Fortify Source enabled by default w/optimization. */ ++ cpp_define (pfile, "_FORTIFY_SOURCE=((defined __OPTIMIZE__ && __OPTIMIZE__ > 0) ? 2 : 0)"); ++ + /* Misc. */ + if (flag_gnu89_inline) + cpp_define (pfile, "__GNUC_GNU_INLINE__"); +--- a/gcc/doc/gcc.info ++++ b/gcc/doc/gcc.info +@@ -6255,6 +6255,11 @@ find out the exact set of optimizations that are enabled at each level. + Please note the warning under '-fgcse' about invoking '-O2' on + programs that use computed gotos. + ++ NOTE: In Alpine Linux, `-D_FORTIFY_SOURCE=2' is set by default, and is ++ activated when `-Os' or `-O1' or higher is used. This enables additional ++ compile-time and run-time checks for several libc functions. To disable, ++ specify either `-U_FORTIFY_SOURCE' or `-D_FORTIFY_SOURCE=0'. ++ + '-O3' + Optimize yet more. '-O3' turns on all optimizations specified by + '-O2' and also turns on the '-finline-functions', |