diff options
author | doko <doko@6ca36cf4-e1d1-0310-8c6f-e303bb2178ca> | 2012-11-17 22:56:23 +0000 |
---|---|---|
committer | doko <doko@6ca36cf4-e1d1-0310-8c6f-e303bb2178ca> | 2012-11-17 22:56:23 +0000 |
commit | 9ce75680dbf209d1adcfbaceaa9080221aa84a62 (patch) | |
tree | 3ec4c701802d1254f7f0ed7f94ce74abc15cfc5b /debian/patches/gcc-default-fortify-source.diff | |
download | gcc-48-9ce75680dbf209d1adcfbaceaa9080221aa84a62.tar.gz |
- start 4.8
git-svn-id: svn://svn.debian.org/svn/gcccvs/branches/sid/gcc-4.8@6242 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca
Diffstat (limited to 'debian/patches/gcc-default-fortify-source.diff')
-rw-r--r-- | debian/patches/gcc-default-fortify-source.diff | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/debian/patches/gcc-default-fortify-source.diff b/debian/patches/gcc-default-fortify-source.diff new file mode 100644 index 0000000..87489bd --- /dev/null +++ b/debian/patches/gcc-default-fortify-source.diff @@ -0,0 +1,36 @@ +# 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(-) + +--- a/src/gcc/doc/invoke.texi ++++ b/src/gcc/doc/invoke.texi +@@ -5972,6 +5972,12 @@ + 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} 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 +--- a/src/gcc/c-family/c-cppbuiltin.c ++++ b/src/gcc/c-family/c-cppbuiltin.c +@@ -731,6 +731,10 @@ + 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__"); |