From patchwork Wed Aug 6 17:20:06 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Malcolm X-Patchwork-Id: 377100 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 8F9A41400AF for ; Thu, 7 Aug 2014 03:22:48 +1000 (EST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id:in-reply-to:references; q=dns; s= default; b=j0eq/orVhdF3dC2MKQoJLQwPItPRVxjnAA6wvN6Xe+MzLsNebUn/a sjdSEDLHrdNTUPHBvgRPaS5wi4iOmRPcVH29E+1B/UDdw3xEy3AKRPjZnNWpKsRw i60QC9NwWrtA9jkimnr7xHc5x47Gd224i1NTuYdq7jGKnvpNjbXIK4= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id:in-reply-to:references; s= default; bh=/CyuCQ87RE3mp9PtqDDLQWfypqw=; b=KbbLYeTslfTD8e38OOuM Od8RfftIJDPNM4MDJnvPpqJm/oUdTfdMVauxo8Ywq81i9Ix2cihu22NYu1RcO4jQ o8whG9/gLrQLaqIqcLUfm2GTsQ32Df9Ie4LbSHZkIyYZFtaRt/cRRuOsLd/GtzIv D/oceZBc8v1t5yd4RCXZAhM= Received: (qmail 28871 invoked by alias); 6 Aug 2014 17:19:24 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 28499 invoked by uid 89); 6 Aug 2014 17:19:21 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.5 required=5.0 tests=AWL, BAYES_00, RP_MATCHES_RCVD, SPF_HELO_PASS autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Wed, 06 Aug 2014 17:19:20 +0000 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s76HJIuG024006 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 6 Aug 2014 13:19:19 -0400 Received: from c64.redhat.com (vpn-239-139.phx2.redhat.com [10.3.239.139]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s76HJ2o3030913; Wed, 6 Aug 2014 13:19:18 -0400 From: David Malcolm To: gcc-patches@gcc.gnu.org Cc: David Malcolm Subject: [PATCH 027/236] asan_emit_stack_protection returns an insn Date: Wed, 6 Aug 2014 13:20:06 -0400 Message-Id: <1407345815-14551-28-git-send-email-dmalcolm@redhat.com> In-Reply-To: <1407345815-14551-1-git-send-email-dmalcolm@redhat.com> References: <1407345815-14551-1-git-send-email-dmalcolm@redhat.com> X-IsSubscribed: yes gcc/ * 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. --- gcc/asan.c | 7 ++++--- gcc/asan.h | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/gcc/asan.c b/gcc/asan.c index 118f9fc..11627c7 100644 --- a/gcc/asan.c +++ b/gcc/asan.c @@ -960,11 +960,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]; @@ -1234,9 +1235,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);