summaryrefslogtreecommitdiff
path: root/gcc/asan.h
diff options
context:
space:
mode:
authorygribov <ygribov@138bc75d-0d04-0410-961f-82ee72b054a4>2014-10-28 09:46:29 +0000
committerygribov <ygribov@138bc75d-0d04-0410-961f-82ee72b054a4>2014-10-28 09:46:29 +0000
commitcf357977a8d0eadddf7f2f248553519dc622ffb8 (patch)
tree504a2ebd7e810c8a58584e3f9ab605bd37f3a29f /gcc/asan.h
parent5e1a5abaa5856a1f6cfe651b7f4a2abd3b32dff1 (diff)
downloadgcc-cf357977a8d0eadddf7f2f248553519dc622ffb8.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216773 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/asan.h')
-rw-r--r--gcc/asan.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/asan.h b/gcc/asan.h
index 198433f3992..eadf0290d1c 100644
--- a/gcc/asan.h
+++ b/gcc/asan.h
@@ -36,7 +36,7 @@ extern gimple_stmt_iterator create_cond_insert_point
extern alias_set_type asan_shadow_set;
/* Shadow memory is found at
- (address >> ASAN_SHADOW_SHIFT) + targetm.asan_shadow_offset (). */
+ (address >> ASAN_SHADOW_SHIFT) + asan_shadow_offset (). */
#define ASAN_SHADOW_SHIFT 3
/* Red zone size, stack and global variables are padded by ASAN_RED_ZONE_SIZE
@@ -76,4 +76,6 @@ asan_red_zone_size (unsigned int size)
return c ? 2 * ASAN_RED_ZONE_SIZE - c : ASAN_RED_ZONE_SIZE;
}
+extern bool set_asan_shadow_offset (const char *);
+
#endif /* TREE_ASAN */