Copy Alpine's gcc6 aport to temp. They don't have it built for aarch64 and armhf at the moment. Due to dependency checks, this means we can't build the kernels that need gcc6, even when cross compiling with gcc6-armhf etc. See #138 for details.
41 lines
1.6 KiB
Diff
41 lines
1.6 KiB
Diff
# 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__");
|