From patchwork Wed Feb 5 01:08:49 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Pluzhnikov X-Patchwork-Id: 316786 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 42D5C2C0084 for ; Wed, 5 Feb 2014 12:09:31 +1100 (EST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :mime-version:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; q=dns; s=default; b=cVmdyEEYAImHYnn 5MrGtGqXph6zqDzFI8djOFKLYjXgGT1VGEcBhHanY51I33Me7CqNOjKFWTuEOBir 0frpPK26Rs0/henKREuU/vNLjx0Az677JNEzd9/E8nsGwxkzSLO1m1+TXngDfjtZ qCM3ugkg1AD4lGiX7JKQth3nVC0M= 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 :mime-version:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; s=default; bh=uuoEUxKFWFU04SqKb2Vc9 jgoPpU=; b=TMdV4UJtlX1KZu4xbQJ8vMoyqR4rXBd0e0sOyyPOLj+HiPQac10Hh 3DvwbpxNMidTCsNLT7UMMHr82DePtf3g9uzVofpt1suThPFkOddYFnjsJ90DDljX MpgHSBUc3zyTi6jd5Oa75YWDFkUMqsOxTNqSAHt5Pazl7ut6U6doPI= Received: (qmail 1000 invoked by alias); 5 Feb 2014 01:09: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 981 invoked by uid 89); 5 Feb 2014 01:09:22 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-3.1 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_LOW, RP_MATCHES_RCVD, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-qc0-f182.google.com Received: from mail-qc0-f182.google.com (HELO mail-qc0-f182.google.com) (209.85.216.182) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Wed, 05 Feb 2014 01:09:21 +0000 Received: by mail-qc0-f182.google.com with SMTP id c9so14974895qcz.41 for ; Tue, 04 Feb 2014 17:09:19 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=OcbhjYtdub3en9ejF/75G3VfshCRWHNdq+6j1fUNdjs=; b=Zx1KLLnLrUjUxrK9aWVp9efeRi+fcRm2RYTwSpmN1kuL2YFYDujHnTkug1ZH5+a413 HC69tvjejhPyUxkwoT4vWAf7pzcxdfISXRix4rqC1JjcG2k/BBo7wRS9R6qiy24HAV2d yq18DvhKqfLafk3T86uUhQASD7FnqFVooby7ZpWbFa/fjjywfQ3gb/o2upTMG0j+kay+ y4qFcJ+Y2ljKigTtPbdQVtVgQR2w/l3TIVBK8FLPMufwx5yABZhgbHB6OCiRvrpvNVvB Sd40ez5U/zcPz39GurY1zzSdaZ4M8TJbZktvy718myrEie3RGRAEECuCpNGAgj/OJ8TZ pIcA== X-Gm-Message-State: ALoCoQkQmFcoaUBbrsDWq34hCkCu8Vl01LYuxB6V3AAZs2m9XVxl2l/EP4mKkW5z6tE3QwK+MXgLNbFgCREelB/uGQB4JMIv9+pnYkUkyRFcck+m1QNgQN4/UF7pnW5DkkBjx09JqB1PqLfr3WBjtVR6ZM0QAtKhdsYQCdufHoI6pDipdikKzI6ymLjNxZHwPaK+vIiLRbAEuzxuFOkH90bjrAYiSO8YFw== X-Received: by 10.224.26.15 with SMTP id b15mr71105450qac.46.1391562559628; Tue, 04 Feb 2014 17:09:19 -0800 (PST) MIME-Version: 1.0 Received: by 10.229.234.129 with HTTP; Tue, 4 Feb 2014 17:08:49 -0800 (PST) In-Reply-To: References: From: Paul Pluzhnikov Date: Tue, 4 Feb 2014 17:08:49 -0800 Message-ID: Subject: Re: [patch] Fix array overflow in gcc.dg/vect/no-vfa-vect-depend-2.c To: gcc-patches@gcc.gnu.org Cc: ppluzhnikov@google.com, Jakub Jelinek +cc jakub On Tue, Feb 4, 2014 at 4:59 PM, Paul Pluzhnikov wrote: > Greetings, > > The gcc.dg/vect/no-vfa-vect-depend-2.c failed for us, when linked with > gold, but not when linked with BFD ld. > > The problem appears to be off-by-one error causing array out of bounds > access, fixed by attached patch. Alternate fix (used in no-vfa-vect-depend-3.c): > > OK for trunk? > > Thanks, > > > gcc/testsuite/ChangeLog: > > 2014-02-04 Paul Pluzhnikov > > * gcc.dg/vect/no-vfa-vect-depend-2.c (main1): Fix buffer > overflow. > > > Index: gcc/testsuite/gcc.dg/vect/no-vfa-vect-depend-2.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/no-vfa-vect-depend-2.c (revision 207487) > +++ gcc/testsuite/gcc.dg/vect/no-vfa-vect-depend-2.c (working copy) > @@ -15,7 +15,7 @@ > int i; > > /* Not vectorizable due to data dependence: dependence distance 1. */ > - for (i = N - 1; i >= 0; i--) > + for (i = N - 2; i >= 0; i--) > { > ia[i] = ia[i+1] * 4; > } > @@ -28,7 +28,7 @@ > } > > /* Vectorizable. Dependence distance -1. */ > - for (i = N - 1; i >= 0; i--) > + for (i = N - 2; i >= 0; i--) > { > ib[i+1] = ib[i] * 4; > } --- gcc/testsuite/gcc.dg/vect/no-vfa-vect-depend-2.c (revision 207487) +++ gcc/testsuite/gcc.dg/vect/no-vfa-vect-depend-2.c (working copy) @@ -5,8 +5,8 @@ #define N 17 -int ia[N] = {48,45,42,39,36,33,30,27,24,21,18,15,12,9,6,3,0}; -int ib[N] = {48,45,42,39,36,33,30,27,24,21,18,15,12,9,6,3,0}; +int ia[N + 1] = {48,45,42,39,36,33,30,27,24,21,18,15,12,9,6,3,0}; +int ib[N + 1] = {48,45,42,39,36,33,30,27,24,21,18,15,12,9,6,3,0}; int res[N] = {48,192,180,168,156,144,132,120,108,96,84,72,60,48,36,24,12}; __attribute__ ((noinline))