79 lines
3.3 KiB
Diff
79 lines
3.3 KiB
Diff
# DP: Document distro specific compiler flags turned on by default
|
|
|
|
--- a/src/gcc/doc/invoke.texi
|
|
+++ b/src/gcc/doc/invoke.texi
|
|
@@ -12487,6 +12487,19 @@ 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 Ubuntu 8.10 and later versions, @option{-D_FORTIFY_SOURCE=2},
|
|
+in Ubuntu 24.04 and later versions, @option{-D_FORTIFY_SOURCE=3}, 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}.
|
|
+
|
|
+NOTE: In Debian 13 and Ubuntu 24.04 and later versions,
|
|
+@option{-D_TIME_BITS=64} together with @option{-D_FILE_OFFSET_BITS=64} is
|
|
+set by default on the 32bit architectures @samp{armel}, @samp{armhf},
|
|
+@samp{hppa}, @samp{m68k}, @samp{mips}, @samp{mipsel}, @samp{powerpc} and
|
|
+@samp{sh4}.
|
|
+
|
|
@opindex O3
|
|
@item -O3
|
|
Optimize yet more. @option{-O3} turns on all optimizations specified
|
|
@@ -16109,6 +16122,9 @@ value of a shared integer constant.
|
|
The minimum size of buffers (i.e.@: arrays) that receive stack smashing
|
|
protection when @option{-fstack-protector} is used.
|
|
|
|
+This default before Ubuntu 10.10 was "8". Currently it is "4", to increase
|
|
+the number of functions protected by the stack protector.
|
|
+
|
|
@item min-size-for-stack-sharing
|
|
The minimum size of variables taking part in stack slot sharing when not
|
|
optimizing.
|
|
@@ -17931,6 +17947,10 @@ Currently the x86 GNU/Linux target provi
|
|
on Intel Control-flow Enforcement Technology (CET) which works for
|
|
i686 processor or newer.
|
|
|
|
+NOTE: In Ubuntu 19.10 and later versions, @option{-fcf-protection}
|
|
+is enabled by default for C, C++, ObjC, ObjC++, if none of
|
|
+@option{-fno-cf-protection} nor @option{-fcf-protection=*} are found.
|
|
+
|
|
@opindex fharden-compares
|
|
@item -fharden-compares
|
|
For every logical test that survives gimple optimizations and is
|
|
@@ -18086,6 +18106,11 @@ references to local frame addresses. On
|
|
allocated on the stack are considered, optimized away variables or variables
|
|
allocated in registers don't count.
|
|
|
|
+NOTE: In Ubuntu 14.10 and later versions,
|
|
+@option{-fstack-protector-strong} is enabled by default for C,
|
|
+C++, ObjC, ObjC++, if none of @option{-fno-stack-protector},
|
|
+@option{-nostdlib}, nor @option{-ffreestanding} are found.
|
|
+
|
|
@opindex fstack-protector-explicit
|
|
@item -fstack-protector-explicit
|
|
Like @option{-fstack-protector} but only protects those functions which
|
|
@@ -18149,6 +18174,10 @@ allocations. @option{-fstack-clash-prot
|
|
protection for static stack allocations if the target supports
|
|
@option{-fstack-check=specific}.
|
|
|
|
+NOTE: In Ubuntu 19.10 and later versions,
|
|
+@option{-fstack-clash-protection} is enabled by default for C,
|
|
+C++, ObjC, ObjC++, unless @option{-fno-stack-clash-protection} is found.
|
|
+
|
|
@opindex fstack-limit-register
|
|
@opindex fstack-limit-symbol
|
|
@opindex fno-stack-limit
|
|
@@ -18926,6 +18955,9 @@ For example, @option{-Wl,-Map,output.map
|
|
linker. When using the GNU linker, you can also get the same effect with
|
|
@option{-Wl,-Map=output.map}.
|
|
|
|
+NOTE: In Ubuntu 8.10 and later versions, for LDFLAGS, the option
|
|
+@option{-Wl,-z,relro} is used. To disable, use @option{-Wl,-z,norelro}.
|
|
+
|
|
@opindex u
|
|
@item -u @var{symbol}
|
|
Pretend the symbol @var{symbol} is undefined, to force linking of
|