diff options
author | Yury Gribov <y.gribov@samsung.com> | 2014-10-28 09:46:29 +0000 |
---|---|---|
committer | Yury Gribov <ygribov@gcc.gnu.org> | 2014-10-28 09:46:29 +0000 |
commit | fd960af2df5a437302039f248a542354ee4cddcf (patch) | |
tree | 504a2ebd7e810c8a58584e3f9ab605bd37f3a29f /gcc/doc | |
parent | ea41822adfb3ea39ba43e033acd1f745abd79083 (diff) | |
download | gcc-fd960af2df5a437302039f248a542354ee4cddcf.zip gcc-fd960af2df5a437302039f248a542354ee4cddcf.tar.gz gcc-fd960af2df5a437302039f248a542354ee4cddcf.tar.bz2 |
Allow to override Asan shadow offset.
2014-10-28 Yury Gribov <y.gribov@samsung.com>
gcc/
* asan.c (set_asan_shadow_offset): New function.
(asan_shadow_offset): Likewise.
(asan_emit_stack_protection): Call asan_shadow_offset.
(build_shadow_mem_access): Likewise.
* asan.h (set_asan_shadow_offset): Declare.
* common.opt (fasan-shadow-offset): New option.
(frandom-seed): Fixed parameter name.
* doc/invoke.texi (fasan-shadow-offset): Describe new option.
(frandom-seed): Fixed parameter name.
* opts-global.c (handle_common_deferred_options): Handle
-fasan-shadow-offset.
* opts.c (common_handle_option): Likewise.
gcc/testsuite/
* c-c++-common/asan/shadow-offset-1.c: New test.
From-SVN: r216773
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/invoke.texi | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 9f21c96..a4901f6 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -297,7 +297,7 @@ Objective-C and Objective-C++ Dialects}. @xref{Debugging Options,,Options for Debugging Your Program or GCC}. @gccoptlist{-d@var{letters} -dumpspecs -dumpmachine -dumpversion @gol -fsanitize=@var{style} -fsanitize-recover -fsanitize-recover=@var{style} @gol --fsanitize-undefined-trap-on-error @gol +-fasan-shadow-offset=@var{number} -fsanitize-undefined-trap-on-error @gol -fdbg-cnt-list -fdbg-cnt=@var{counter-value-list} @gol -fdisable-ipa-@var{pass_name} @gol -fdisable-rtl-@var{pass_name} @gol @@ -342,7 +342,7 @@ Objective-C and Objective-C++ Dialects}. -fmem-report -fpre-ipa-mem-report -fpost-ipa-mem-report -fprofile-arcs @gol -fopt-info @gol -fopt-info-@var{options}@r{[}=@var{file}@r{]} @gol --frandom-seed=@var{string} -fsched-verbose=@var{n} @gol +-frandom-seed=@var{number} -fsched-verbose=@var{n} @gol -fsel-sched-verbose -fsel-sched-dump-cfg -fsel-sched-pipelining-verbose @gol -fstack-usage -ftest-coverage -ftime-report -fvar-tracking @gol -fvar-tracking-assignments -fvar-tracking-assignments-toggle @gol @@ -5641,6 +5641,12 @@ While @option{-ftrapv} causes traps for signed overflows to be emitted, @option{-fsanitize=undefined} gives a diagnostic message. This currently works only for the C family of languages. +@item -fasan-shadow-offset=@var{number} +@opindex fasan-shadow-offset +This option forces GCC to use custom shadow offset in AddressSanitizer checks. +It is useful for experimenting with different shadow memory layouts in +Kernel AddressSanitizer. + @item -fsanitize-recover@r{[}=@var{opts}@r{]} @opindex fsanitize-recover @opindex fno-sanitize-recover @@ -6804,7 +6810,7 @@ the first option takes effect and the subsequent options are ignored. Thus only the @file{vec.miss} is produced which contains dumps from the vectorizer about missed opportunities. -@item -frandom-seed=@var{string} +@item -frandom-seed=@var{number} @opindex frandom-seed This option provides a seed that GCC uses in place of random numbers in generating certain symbol names @@ -6813,7 +6819,7 @@ place unique stamps in coverage data files and the object files that produce them. You can use the @option{-frandom-seed} option to produce reproducibly identical object files. -The @var{string} should be different for every file you compile. +The @var{number} should be different for every file you compile. @item -fsched-verbose=@var{n} @opindex fsched-verbose |