|
|
# --- SDE-COPYRIGHT-NOTE-BEGIN ---
|
|
|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
|
|
|
#
|
|
|
# Filename: package/.../gcc/10_all_default-fortify-source.patch
|
|
|
# Copyright (C) 2015 The OpenSDE Project
|
|
|
#
|
|
|
# More information can be found in the files COPYING and README.
|
|
|
#
|
|
|
# This patch file is dual-licensed. It is available under the license the
|
|
|
# patched project is licensed under, as long as it is an OpenSource license
|
|
|
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
|
|
|
# of the GNU General Public License as published by the Free Software
|
|
|
# Foundation; either version 2 of the License, or (at your option) any later
|
|
|
# version.
|
|
|
# --- SDE-COPYRIGHT-NOTE-END ---
|
|
|
|
|
|
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',
|