From 3a4abd2f6c3c0606dff3ab56505c58abf79dd7e7 Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Tue, 19 Aug 2014 19:48:08 +0000 Subject: [PATCH] asan_emit_stack_protection returns an insn 2014-08-19 David Malcolm * 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 --- gcc/ChangeLog | 7 +++++++ gcc/asan.c | 7 ++++--- gcc/asan.h | 4 ++-- 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 + * 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 + * 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); -- 2.7.4