From patchwork Wed Nov 12 16:53:11 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ramana Radhakrishnan X-Patchwork-Id: 40685 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-lb0-f198.google.com (mail-lb0-f198.google.com [209.85.217.198]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 03A2424493 for ; Wed, 12 Nov 2014 16:53:34 +0000 (UTC) Received: by mail-lb0-f198.google.com with SMTP id 10sf6856672lbg.5 for ; Wed, 12 Nov 2014 08:53:32 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:delivered-to:mailing-list:precedence:list-id :list-unsubscribe:list-archive:list-post:list-help:sender :delivered-to:message-id:date:from:user-agent:mime-version:to :subject:x-original-sender:x-original-authentication-results :content-type; bh=+hlhM1q9eXItqOSMz0KBoBBbblVidvdeewz7PhH6QtM=; b=dCbPDhon/t7yfK4TfQR1VHYUT7Mz6BR1UK7vFSVR6Fh1s56Dj+IwmcXaO5bAoaywws x21nV2Kyyia4tmSMwoR6NZX4EAUs3sK8oUAh6soTibeJvbd9WGsKPSzbAxFrH/NegNV5 GRZjvBfs56SRq3O0OnZvW7zbUHq0Et1pamsMtzmpj3K8ispFPFo/5dnTy5wMPNVVmujg u4GmSw9cV80knoy1Drs7ehBUErVH8OuCsK66vDRgH5vBt6gn5d8Iu5ewYr03wCuK8LSL aSkWUypGHlp1REY0ikKIhCIuyOiweR8EXGF35jDGA7aI9x/9QsCbaF4Ku/b/VnATFtrW QOLQ== X-Gm-Message-State: ALoCoQlBKD1Xzc6nTDsT8N9ZrSG9TGyhUqMEtcwaZOASZsr8HFP8EN6i5Eu/N3WvpWzyYyu61t2q X-Received: by 10.112.119.194 with SMTP id kw2mr638588lbb.16.1415811212866; Wed, 12 Nov 2014 08:53:32 -0800 (PST) X-BeenThere: patchwork-forward@linaro.org Received: by 10.152.88.83 with SMTP id be19ls50853lab.97.gmail; Wed, 12 Nov 2014 08:53:32 -0800 (PST) X-Received: by 10.153.6.9 with SMTP id cq9mr3605816lad.79.1415811212725; Wed, 12 Nov 2014 08:53:32 -0800 (PST) Received: from mail-lb0-x231.google.com (mail-lb0-x231.google.com. [2a00:1450:4010:c04::231]) by mx.google.com with ESMTPS id t8si21995556lbw.102.2014.11.12.08.53.32 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 12 Nov 2014 08:53:32 -0800 (PST) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 2a00:1450:4010:c04::231 as permitted sender) client-ip=2a00:1450:4010:c04::231; Received: by mail-lb0-f177.google.com with SMTP id z12so2891722lbi.22 for ; Wed, 12 Nov 2014 08:53:32 -0800 (PST) X-Received: by 10.152.6.228 with SMTP id e4mr43287785laa.71.1415811212003; Wed, 12 Nov 2014 08:53:32 -0800 (PST) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.112.184.201 with SMTP id ew9csp455903lbc; Wed, 12 Nov 2014 08:53:30 -0800 (PST) X-Received: by 10.70.103.193 with SMTP id fy1mr477165pdb.18.1415811209865; Wed, 12 Nov 2014 08:53:29 -0800 (PST) Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id ms8si9753968pdb.144.2014.11.12.08.53.28 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 12 Nov 2014 08:53:29 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-return-383893-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) client-ip=209.132.180.131; Received: (qmail 6254 invoked by alias); 12 Nov 2014 16:53:16 -0000 Mailing-List: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org Precedence: list 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 6245 invoked by uid 89); 12 Nov 2014 16:53:15 -0000 X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.2 required=5.0 tests=AWL, BAYES_00, RP_MATCHES_RCVD, SPF_PASS autolearn=ham version=3.3.2 X-HELO: foss-mx-na.foss.arm.com Received: from foss-mx-na.foss.arm.com (HELO foss-mx-na.foss.arm.com) (217.140.108.86) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 12 Nov 2014 16:53:08 +0000 Received: from foss-smtp-na-1.foss.arm.com (unknown [10.80.61.8]) by foss-mx-na.foss.arm.com (Postfix) with ESMTP id 1BCD366 for ; Wed, 12 Nov 2014 10:53:01 -0600 (CST) Received: from collaborate-mta1.arm.com (highbank-bc01-b06.austin.arm.com [10.112.81.134]) by foss-smtp-na-1.foss.arm.com (Postfix) with ESMTP id BC4055FAD7 for ; Wed, 12 Nov 2014 10:52:59 -0600 (CST) Received: from [10.1.209.40] (e105545-lin.cambridge.arm.com [10.1.209.40]) by collaborate-mta1.arm.com (Postfix) with ESMTPS id 4FBE813F824 for ; Wed, 12 Nov 2014 10:52:59 -0600 (CST) Message-ID: <54639077.9090709@arm.com> Date: Wed, 12 Nov 2014 16:53:11 +0000 From: Ramana Radhakrishnan User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: "gcc-patches@gcc.gnu.org" Subject: [RFC testsuite] Allow wrappers to choose file names based on pids X-IsSubscribed: yes X-Original-Sender: ramana.radhakrishnan@arm.com X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 2a00:1450:4010:c04::231 as permitted sender) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org; dkim=pass header.i=@gcc.gnu.org X-Google-Group-Id: 836684582541 Hi, One of the problems we appear to face with multilib testing especially with conflicting ABIs in the ARM world is the occasional case where a testglue file is built for one ABI but gets linked against a multilib test invocation with another target. We've tried to ameliorate this in some of our builds with something like this attached patch and we've been carrying this internally for quite some time. In general this appears to help in quite a few cases but there are still clashes that we get in our testing environment once a while that we are unable to remove or get to the bottom of. (My suspicion is around mov_if_change gcc-testglue{pid}.o gcc-tg.o but I'm not yet a 100% sure.) This appears to reduce the number of clashes we have with such conflicting ABIs and their testing thereof. I don't know if other folks see such issues but it's worth checking if this is of use somewhere else. At the minute this is just an RFC to see what other folks think of this and whether others face such an issue. Tested in the past for arm-none-eabi regularly built with --with-multilib-list=aprofile with a set of conflicting multilib ABI tests. I'm happy to retest and resubmit if folks think this is a good idea. regards Ramana 2014-11-12 Ramana Radhakrishnan * lib/wrapper.exp ${tool}_wrap_filename (): Define * lib/g++.exp (g++_init): Use appropriate filename for wrapper file. * lib/gcc.exp (gcc_init): Likewise. * lib/gfortran.exp (gfortran_init): Likewise. * lib/go.exp (go_init): Likewise. diff --git a/gcc/testsuite/lib/g++.exp b/gcc/testsuite/lib/g++.exp index 751e27b..c23b409 100644 --- a/gcc/testsuite/lib/g++.exp +++ b/gcc/testsuite/lib/g++.exp @@ -233,7 +233,7 @@ proc g++_init { args } { unset gluefile } - g++_maybe_build_wrapper "${tmpdir}/g++-testglue.o" "-fexceptions" + g++_maybe_build_wrapper "[g++_wrap_filename ${tmpdir}]" "-fexceptions" if {![info exists CXXFLAGS]} { set CXXFLAGS "" diff --git a/gcc/testsuite/lib/gcc.exp b/gcc/testsuite/lib/gcc.exp index 49394b0..6b20e2b 100644 --- a/gcc/testsuite/lib/gcc.exp +++ b/gcc/testsuite/lib/gcc.exp @@ -113,7 +113,7 @@ proc gcc_init { args } { set gcc_warning_prefix "warning:" set gcc_error_prefix "error:" - gcc_maybe_build_wrapper "${tmpdir}/gcc-testglue.o" + gcc_maybe_build_wrapper "[gcc_wrap_filename ${tmpdir}]" } # diff --git a/gcc/testsuite/lib/gfortran.exp b/gcc/testsuite/lib/gfortran.exp index c9b5d64..936f787 100644 --- a/gcc/testsuite/lib/gfortran.exp +++ b/gcc/testsuite/lib/gfortran.exp @@ -190,7 +190,7 @@ proc gfortran_init { args } { unset gluefile } - gfortran_maybe_build_wrapper "${tmpdir}/gfortran-testglue.o" + gfortran_maybe_build_wrapper "[gfortran_wrap_filename ${tmpdir}]" set ALWAYS_GFORTRANFLAGS "" diff --git a/gcc/testsuite/lib/go.exp b/gcc/testsuite/lib/go.exp index d674f48..ce83132 100644 --- a/gcc/testsuite/lib/go.exp +++ b/gcc/testsuite/lib/go.exp @@ -172,7 +172,7 @@ proc go_init { args } { unset gluefile } - go_maybe_build_wrapper "${tmpdir}/go-testglue.o" + go_maybe_build_wrapper "${tmpdir}/go-testglue.o" "" set ALWAYS_GOCFLAGS "" diff --git a/gcc/testsuite/lib/wrapper.exp b/gcc/testsuite/lib/wrapper.exp index 1291c11..217d0eb 100644 --- a/gcc/testsuite/lib/wrapper.exp +++ b/gcc/testsuite/lib/wrapper.exp @@ -44,3 +44,13 @@ proc ${tool}_maybe_build_wrapper { filename args } { } } } + +proc ${tool}_wrap_filename { tmpdir } { + global tool + + set twrapper "${tmpdir}/${tool}-testglue" + append twrapper [getpid] + append twrapper ".o" + + return $twrapper +}