aboutsummaryrefslogtreecommitdiff
path: root/gcc/asan.h
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2013-11-28 09:18:59 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2013-11-28 09:18:59 +0100
commite361382f655dcba3b6538d9157c6d378db57158b (patch)
treeb8e14dee616a6f5428fd7b804709a5da8b7d3073 /gcc/asan.h
parent8b5e12023b56dfc83c037053612b08f5ee7eac61 (diff)
downloadgcc-e361382f655dcba3b6538d9157c6d378db57158b.zip
gcc-e361382f655dcba3b6538d9157c6d378db57158b.tar.gz
gcc-e361382f655dcba3b6538d9157c6d378db57158b.tar.bz2
cfgexpand.c (struct stack_vars_data): Add asan_base and asan_alignb fields.
* cfgexpand.c (struct stack_vars_data): Add asan_base and asan_alignb fields. (expand_stack_vars): For -fsanitize=address, use (and set initially) data->asan_base as base for vars and update asan_alignb. (expand_used_vars): Initialize data.asan_base and data.asan_alignb. Pass them to asan_emit_stack_protection. * asan.c (asan_detect_stack_use_after_return): New variable. (asan_emit_stack_protection): Add pbase and alignb arguments. Implement use after return sanitization. * asan.h (asan_emit_stack_protection): Adjust prototype. (ASAN_STACK_MAGIC_USE_AFTER_RET, ASAN_STACK_RETIRED_MAGIC): Define. From-SVN: r205476
Diffstat (limited to 'gcc/asan.h')
-rw-r--r--gcc/asan.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/asan.h b/gcc/asan.h
index 89cb5bb..42383c4 100644
--- a/gcc/asan.h
+++ b/gcc/asan.h
@@ -23,7 +23,8 @@ along with GCC; see the file COPYING3. If not see
extern void asan_function_start (void);
extern void asan_finish_file (void);
-extern rtx asan_emit_stack_protection (rtx, HOST_WIDE_INT *, tree *, int);
+extern rtx asan_emit_stack_protection (rtx, rtx, unsigned int, HOST_WIDE_INT *,
+ tree *, int);
extern bool asan_protect_global (tree);
extern void initialize_sanitizer_builtins (void);
extern tree asan_dynamic_init_call (bool);
@@ -49,8 +50,10 @@ extern alias_set_type asan_shadow_set;
#define ASAN_STACK_MAGIC_MIDDLE 0xf2
#define ASAN_STACK_MAGIC_RIGHT 0xf3
#define ASAN_STACK_MAGIC_PARTIAL 0xf4
+#define ASAN_STACK_MAGIC_USE_AFTER_RET 0xf5
-#define ASAN_STACK_FRAME_MAGIC 0x41b58ab3
+#define ASAN_STACK_FRAME_MAGIC 0x41b58ab3
+#define ASAN_STACK_RETIRED_MAGIC 0x45e0360e
/* Return true if DECL should be guarded on the stack. */