From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 119062 invoked by alias); 8 Aug 2016 18:15:07 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 119051 invoked by uid 89); 8 Aug 2016 18:15:07 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_LOW autolearn=no version=3.3.2 spammy=Writing, UD:match.sh, matchsh, match.sh X-HELO: mx0a-001b2d01.pphosted.com Received: from mx0a-001b2d01.pphosted.com (HELO mx0a-001b2d01.pphosted.com) (148.163.156.1) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Mon, 08 Aug 2016 18:14:56 +0000 Received: from pps.filterd (m0098404.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.11/8.16.0.11) with SMTP id u78H5ZnF066198 for ; Mon, 8 Aug 2016 14:14:55 -0400 Received: from e37.co.us.ibm.com (e37.co.us.ibm.com [32.97.110.158]) by mx0a-001b2d01.pphosted.com with ESMTP id 24nbyr3sw8-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Mon, 08 Aug 2016 14:14:55 -0400 Received: from localhost by e37.co.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 8 Aug 2016 12:14:54 -0600 Received: from d03dlp02.boulder.ibm.com (9.17.202.178) by e37.co.us.ibm.com (192.168.1.137) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Mon, 8 Aug 2016 12:14:51 -0600 X-IBM-Helo: d03dlp02.boulder.ibm.com X-IBM-MailFrom: laboger@linux.vnet.ibm.com Received: from b03cxnp08025.gho.boulder.ibm.com (b03cxnp08025.gho.boulder.ibm.com [9.17.130.17]) by d03dlp02.boulder.ibm.com (Postfix) with ESMTP id 84B493E4005E; Mon, 8 Aug 2016 12:14:46 -0600 (MDT) Received: from b03ledav002.gho.boulder.ibm.com (b03ledav002.gho.boulder.ibm.com [9.17.130.233]) by b03cxnp08025.gho.boulder.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id u78IEife13566216; Mon, 8 Aug 2016 11:14:46 -0700 Received: from b03ledav002.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 5A7A413604B; Mon, 8 Aug 2016 12:14:46 -0600 (MDT) Received: from oc3540537726.ibm.com (unknown [9.10.86.61]) by b03ledav002.gho.boulder.ibm.com (Postfix) with ESMTP id 2B7B413603C; Mon, 8 Aug 2016 12:14:46 -0600 (MDT) Subject: Re: libgo patch committed: Change build procedure to use build tags To: gcc-patches@gcc.gnu.org, Ian Taylor References: From: "Lynn A. Boger" Date: Mon, 08 Aug 2016 18:15:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-TM-AS-GCONF: 00 X-Content-Scanned: Fidelis XPS MAILER x-cbid: 16080818-0024-0000-0000-000014486C36 X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00005567; HX=3.00000240; KW=3.00000007; PH=3.00000004; SC=3.00000178; SDB=6.00741841; UDB=6.00349118; IPR=6.00514399; BA=6.00004651; NDR=6.00000001; ZLA=6.00000005; ZF=6.00000009; ZB=6.00000000; ZP=6.00000000; ZH=6.00000000; ZU=6.00000002; MB=3.00012249; XFM=3.00000011; UTC=2016-08-08 18:14:52 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 16080818-0025-0000-0000-00004360C025 Message-Id: X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2016-08-08_13:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1604210000 definitions=main-1608080184 X-IsSubscribed: yes X-SW-Source: 2016-08/txt/msg00620.txt.bz2 The libgo tests on ppc64le and ppc64 have all been failing in gcc-testresults since this change went in and continues to fail after the recent fixes for failures on other platforms. Built myself and got the same failures. I set keep=true in gotest to save the test dirs. Just running a single package: make bufio/check file /home/boger/gccgo.work/trunk/bld/../src/libgo/go/bufio/bufio.go not found Keeping gotest9734 FAIL: bufio Makefile:3645: recipe for target 'bufio/check' failed make: *** [bufio/check] Error 1 boger@willow3:~/gccgo.work/trunk/bld/powerpc64le-linux/libgo$ ls /home/boger/gccgo.work/trunk/bld/../src/libgo/go/bufio/bufio.go /home/boger/gccgo.work/trunk/bld/../src/libgo/go/bufio/bufio.go boger@willow3:~/gccgo.work/trunk/bld/powerpc64le-linux/libgo$ file /home/boger/gccgo.work/trunk/bld/../src/libgo/go/bufio/bufio.go /home/boger/gccgo.work/trunk/bld/../src/libgo/go/bufio/bufio.go: ASCII text The gotest saved test directory contains the go file they are looking for. ls ./powerpc64le-linux/libgo/gotest9734/test/bufio.go ./powerpc64le-linux/libgo/gotest9734/test/bufio.go Likewise for all when doing make check-target-libgo === libgo tests === file /home/boger/gccgo.work/trunk/bld/../src/libgo/go/bufio/bufio.go not found Keeping gotest10016 FAIL: bufio file /home/boger/gccgo.work/trunk/bld/../src/libgo/go/bytes/buffer.go not found Keeping gotest10106 FAIL: bytes file /home/boger/gccgo.work/trunk/bld/../src/libgo/go/context/context.go not found Keeping gotest10166 FAIL: context file /home/boger/gccgo.work/trunk/bld/../src/libgo/go/errors/errors.go not found Keeping gotest10226 FAIL: errors file /home/boger/gccgo.work/trunk/bld/../src/libgo/go/expvar/expvar.go not found Keeping gotest10286 FAIL: expvar file /home/boger/gccgo.work/trunk/bld/../src/libgo/go/flag/flag.go not found Keeping gotest10346 FAIL: flag file /home/boger/gccgo.work/trunk/bld/../src/libgo/go/fmt/doc.go not found Keeping gotest10436 FAIL: fmt file /home/boger/gccgo.work/trunk/bld/../src/libgo/go/html/entity.go not found Keeping gotest10506 FAIL: html ..... On 08/05/2016 07:36 PM, Ian Lance Taylor wrote: > Go packages use build tags (see the section on Build Constraints at > https://golang.org/pkg/go/build/) to select which files to build on > specific systems. > > Previously the libgo Makefile explicitly listed the set of files to > compile for each package. For packages that use build tags, this > required a lot of awkward automake conditionals in the Makefile. > > This patch changes the build to look at the build tags in the files. > The new shell script libgo/match.sh does the matching. This required > adjusting a lot of build tags, and removing some files that are never > used. I verified that the exact same sets of files are compiled on > x86_64-pc-linux-gnu. I also tested the build on i386-sun-solaris > (building for both 32-bit and 64-bit). > > Writing match.sh revealed some bugs in the build tag handling that > already exists, in a slightly different form, in the gotest shell > script. This patch fixes those problems as well. > > The old code used automake conditionals to handle systems that were > missing strerror_r and wait4. Rather than deal with those in Go, > those functions are now implemented in runtime/go-nosys.c when > necessary, so the Go code can simply assume that they exist. > > The os testsuite looked for dir_unix.go, which was never built for > gccgo and has now been removed. I changed the testsuite to look for > dir.go instead. > > Note that if you have an existing build directory, you will have to > remove all the .dep files in TARGET/libgo after updating to this > patch. There isn't anything that will force them to update > automatically. > > Bootstrapped on x86_64-pc-linux-gnu and i386-sun-solaris. Ran Go > testsuite on x86_64-pc-linux-gnu. Committed to mainline. > > Ian