aboutsummaryrefslogtreecommitdiffstats
path: root/main/gcc/003_all_default-fortify-source.patch
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2016-07-01 12:28:16 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2016-07-05 17:56:14 +0000
commit5b7befa1b989315a57f4fb49b8381ce06ded96c9 (patch)
treeef08980d3525ee01131078415e2f553f7d58c156 /main/gcc/003_all_default-fortify-source.patch
parent25c19fed5767953094db3d80079717b8c83baa05 (diff)
downloadaports-5b7befa1b989315a57f4fb49b8381ce06ded96c9.tar.bz2
aports-5b7befa1b989315a57f4fb49b8381ce06ded96c9.tar.xz
main/gcc: upgrade to 6.1.0
- use --enable-default-pie - patch bind now, ssp-strong, fortify and as-needed to be defaults - remove gentoo esp patches as unneeded (deprecated by the above) - update ecj - remove upstreamed musl patches, add current musl patches - support musl's static pie - fix some bootstrapping related issues
Diffstat (limited to 'main/gcc/003_all_default-fortify-source.patch')
-rw-r--r--main/gcc/003_all_default-fortify-source.patch40
1 files changed, 40 insertions, 0 deletions
diff --git a/main/gcc/003_all_default-fortify-source.patch b/main/gcc/003_all_default-fortify-source.patch
new file mode 100644
index 0000000000..6ca8033430
--- /dev/null
+++ b/main/gcc/003_all_default-fortify-source.patch
@@ -0,0 +1,40 @@
+# DP: Turn on -D_FORTIFY_SOURCE=2 by default for C, C++, ObjC, ObjC++,
+# DP: if the optimization level is > 0
+
+---
+ gcc/doc/invoke.texi | 6 ++++++
+ gcc/c-family/c-cppbuiltin.c | 3 +
+ 2 files changed, 9 insertions(+), 0 deletions(-)
+
+Index: b/gcc/doc/invoke.texi
+===================================================================
+--- a/gcc/doc/invoke.texi
++++ b/gcc/doc/invoke.texi
+@@ -7840,6 +7840,12 @@ also turns on the following optimization
+ Please note the warning under @option{-fgcse} about
+ invoking @option{-O2} on programs that use computed gotos.
+
++NOTE: In Alpine Linux, @option{-D_FORTIFY_SOURCE=2} is
++set by default, and is activated when @option{-O} is set to 2 or higher.
++This enables additional compile-time and run-time checks for several libc
++functions. To disable, specify either @option{-U_FORTIFY_SOURCE} or
++@option{-D_FORTIFY_SOURCE=0}.
++
+ @item -O3
+ @opindex O3
+ Optimize yet more. @option{-O3} turns on all optimizations specified
+Index: b/gcc/c-family/c-cppbuiltin.c
+===================================================================
+--- a/gcc/c-family/c-cppbuiltin.c
++++ b/gcc/c-family/c-cppbuiltin.c
+@@ -1176,6 +1176,10 @@ 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 for optimization levels > 0 */
++ if (optimize)
++ builtin_define_with_int_value ("_FORTIFY_SOURCE", 2);
++
+ /* Misc. */
+ if (flag_gnu89_inline)
+ cpp_define (pfile, "__GNUC_GNU_INLINE__");