aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2014-08-19 19:48:08 +0000
committerDavid Malcolm <dmalcolm@gcc.gnu.org>2014-08-19 19:48:08 +0000
commit3a4abd2f6c3c0606dff3ab56505c58abf79dd7e7 (patch)
tree4aead822fa7628b32e485062cd6f948ba09c32ec /gcc
parented27099755a9d34005b616231546f5ed017c61b9 (diff)
downloadgcc-3a4abd2f6c3c0606dff3ab56505c58abf79dd7e7.zip
gcc-3a4abd2f6c3c0606dff3ab56505c58abf79dd7e7.tar.gz
gcc-3a4abd2f6c3c0606dff3ab56505c58abf79dd7e7.tar.bz2
asan_emit_stack_protection returns an insn
2014-08-19 David Malcolm <dmalcolm@redhat.com> * asan.h (asan_emit_stack_protection): Strengthen return type from rtx to rtx_insn *. * asan.c (asan_emit_stack_protection): Likewise. Add local "insns" to hold the return value. From-SVN: r214189
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/asan.c7
-rw-r--r--gcc/asan.h4
3 files changed, 13 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c6b9287..027c4ad 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,12 @@
2014-08-19 David Malcolm <dmalcolm@redhat.com>
+ * asan.h (asan_emit_stack_protection): Strengthen return type from
+ rtx to rtx_insn *.
+ * asan.c (asan_emit_stack_protection): Likewise. Add local
+ "insns" to hold the return value.
+
+2014-08-19 David Malcolm <dmalcolm@redhat.com>
+
* basic-block.h (bb_note): Strengthen return type from rtx to
rtx_note *.
* sched-int.h (bb_note): Likewise.
diff --git a/gcc/asan.c b/gcc/asan.c
index 15c0737..e073b01 100644
--- a/gcc/asan.c
+++ b/gcc/asan.c
@@ -974,11 +974,12 @@ asan_function_start (void)
assigned to PBASE, when not doing use after return protection, or
corresponding address based on __asan_stack_malloc* return value. */
-rtx
+rtx_insn *
asan_emit_stack_protection (rtx base, rtx pbase, unsigned int alignb,
HOST_WIDE_INT *offsets, tree *decls, int length)
{
rtx shadow_base, shadow_mem, ret, mem, orig_base, lab;
+ rtx_insn *insns;
char buf[30];
unsigned char shadow_bytes[4];
HOST_WIDE_INT base_offset = offsets[length - 1];
@@ -1248,9 +1249,9 @@ asan_emit_stack_protection (rtx base, rtx pbase, unsigned int alignb,
if (lab)
emit_label (lab);
- ret = get_insns ();
+ insns = get_insns ();
end_sequence ();
- return ret;
+ return insns;
}
/* Return true if DECL, a global var, might be overridden and needs
diff --git a/gcc/asan.h b/gcc/asan.h
index 08d5063..198433f 100644
--- a/gcc/asan.h
+++ b/gcc/asan.h
@@ -23,8 +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, rtx, unsigned int, HOST_WIDE_INT *,
- tree *, int);
+extern rtx_insn *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);