1c0ff6aa23
Later, the aports folder will probably get split up in its own repository. But right now this is simply convenient.
40 lines
1.6 KiB
Diff
40 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__");
|