From patchwork Mon Nov 11 18:12:13 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Maciej W. Rozycki" X-Patchwork-Id: 1193050 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-512975-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=wdc.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="XoPfjuF+"; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=wdc.com header.i=@wdc.com header.b="nOIowJWe"; dkim-atps=neutral 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 47Bf9R1mrgz9sP4 for ; Tue, 12 Nov 2019 05:12:27 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:cc:subject:in-reply-to:message-id:references :mime-version:content-type; q=dns; s=default; b=jIqhXiqzvVwdc8Lb zoAmUBtjsuS7qMf0RvbdBo8GDzfZG4/zHV4wMeYV9IMHDCi6ItIq1B9E/LVNwMuT pLNgQYFdyPyA1YLxlTn6Qgxpa9hfyKI1ciYPCDo9UraPqq1fExfLmyl1C8NctBGc tFsKKdyz1WnqvdgLe9IyLfiCC6w= 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:date :from:to:cc:subject:in-reply-to:message-id:references :mime-version:content-type; s=default; bh=XFZBQWCbJuW1lbcARyLiMp X9Zog=; b=XoPfjuF+pZGIAsm+Y3SVfOMjW1Zdnp+EvjuDf5OjNS2laLR4lIEGpG vJ6CY/PsLo4yZW4/wvL9Yqsd5RGIEwIMHTeqpg+KOqJPXKMdn2GnrWohEVZU5DND Mf0wBcZn0N1deJTd+MGg6dzuS/2hSOF8WzWKn2aDeaxL5qbqIYfwU= Received: (qmail 75879 invoked by alias); 11 Nov 2019 18:12:19 -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 75866 invoked by uid 89); 11 Nov 2019 18:12:19 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-8.6 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_2, GIT_PATCH_3, KAM_ASCII_DIVIDERS autolearn=unavailable version=3.3.1 spammy=CC, $CC, $cc X-HELO: esa6.hgst.iphmx.com Received: from esa6.hgst.iphmx.com (HELO esa6.hgst.iphmx.com) (216.71.154.45) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 11 Nov 2019 18:12:18 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1573495939; x=1605031939; h=date:from:to:cc:subject:in-reply-to:message-id: references:mime-version; bh=nnxSKfDyLPNMEyss1wKNw+UIM/BWyrJMRq6oKTrLhRY=; b=nOIowJWeSL7LM8eInjF30JN01BwGX5eKhcztOaNIlphd8FlkThZitUgH UdderKe77i6f+ydzx+abFR4Ja9lVPZgKIBLuJzA3Owa5FnIUiJ6tSANq+ zN3manDvv7pWYpMsOgLvPhAtUv5ZzJTnRUB4BneMV6sIRDBajnLfDVzfg hSZCbTNDjM9uucBBbRkrNlXwO77Ho0D9HNrmgeWsqn7X5k4Vopmpn3k3E j4bgOCai0t4w+ALUnSnScr5ssaImg+w0Vd2GdDf2gk7ng4xkEA+z/soJq gUb7ZEPiN2kUCJw/Ep0TClvn/sifi8+h0SmwsX3js9B2ufxT7kGb18Prp A==; IronPort-SDR: YmLvaipNORIZVpbfg70FcdN7lNlSkhOB4z99Uws08wexqQaLo4z5KmMPEHFG0pNKfZRfPowEuK SgPX95z6Psg05v3CrjK1mQyGipG5labqeW/Pw60OJlFlhgk68NIlHSCOTj9w1KA1sWBGp16Z/8 OzLfHRYLEu9WvnP6kFkUkCAcjW0Wyj42KcMnfnMM9QY1ZdwXFigTXICj2iakVz2f7ZEOj8C2Wm n3yMwJege+0MOIVvABkvSCv457Id34OzquaJ8NalBR5iCM7DdZxdaBVEiiHdT205k1Z4lGsrdy FsA= Received: from uls-op-cesaip02.wdc.com (HELO uls-op-cesaep02.wdc.com) ([199.255.45.15]) by ob1.hgst.iphmx.com with ESMTP; 12 Nov 2019 02:12:17 +0800 IronPort-SDR: +pV7JDVuG8gFbxzQWogw3s/+YFTcbzo8ZEQNZqV7uM0KynUws2UUs0zYwfOBGsYu8Eb+o7ryJO khkFqVgL+0mbA6fPZWKxwlqYNfbD5PjyUcgiGwIcyIu5lu87x9PwyWfQjL9JAQvgSFzOIW1Gl1 /mz14V/+m/yGHZzS6eRlJeWB4zMbtmDQJYZBOFiH0DeN6oJl6NgiGNzGLiM32YbWLHz+8q+cl4 cjREWCq3SO1HKLL4oow6lckJJeZQRRCkA0ZvuNvRUmA3LjTORM9owdbf56R8W39sQpygfiO8la uATxiuWSReRST8aQShWcduAv Received: from uls-op-cesaip01.wdc.com ([10.248.3.36]) by uls-op-cesaep02.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Nov 2019 10:07:20 -0800 IronPort-SDR: TyxVRSjnue5oAk7/OKkortQKMYIkfbfVEaOlBnpZJBSMYEcheJZ7U2tTfdc4/dFveIlyKiaR4V +kKhb/zSTxxN2hlwxp8YITndJFecB8qyH+WcVlLGKA/Dg6KMu76B6jgzoimrUZFq2oC/9Cg0rr JwLyN4j2MpUFwP2vLYjCC4KMJFiBYqQE9Y3Xgkof4S7l+t7xBxQYWHdZZkFqgqex8Uau35de6A h06MzljeMKi1+iDL+gAuE7coKhUwgQIvaBz/T1DaSFxXlahbByx/fnJOa7gG5rox3QnC+5d8PE 750= WDCIronportException: Internal Received: from unknown (HELO redsun52) ([10.149.66.28]) by uls-op-cesaip01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Nov 2019 10:12:17 -0800 Date: Mon, 11 Nov 2019 18:12:13 +0000 (GMT) From: "Maciej W. Rozycki" To: gcc-patches@gcc.gnu.org cc: libffi-discuss@sourceware.org, golang-dev@googlegroups.com Subject: [PATCH 1/4] libatomic/test: Fix compilation for build sysroot In-Reply-To: Message-ID: References: User-Agent: Alpine 2.21 (LFD 202 2017-01-01) MIME-Version: 1.0 Fix a problem with the libatomic testsuite using a method to determine the compiler to use resulting in the tool being different from one the library has been built with, and causing a catastrophic failure from the lack of a suitable `--sysroot=' option where the `--with-build-sysroot=' configuration option has been used to build the compiler resulting in the inability to link executables. Address this problem by providing a DejaGNU configuration file defining the compiler to use, via the GCC_UNDER_TEST TCL variable, set from $CC by autoconf, which will have all the required options set for the target compiler to build executables in the environment configured, removing failures like: .../bin/riscv64-linux-gnu-ld: cannot find crt1.o: No such file or directory .../bin/riscv64-linux-gnu-ld: cannot find -lm collect2: error: ld returned 1 exit status compiler exited with status 1 FAIL: libatomic.c/atomic-compare-exchange-1.c (test for excess errors) Excess errors: .../bin/riscv64-linux-gnu-ld: cannot find crt1.o: No such file or directory .../bin/riscv64-linux-gnu-ld: cannot find -lm UNRESOLVED: libatomic.c/atomic-compare-exchange-1.c compilation failed to produce executable and bringing overall test results for the `riscv64-linux-gnu' target (here with the `x86_64-linux-gnu' host and RISC-V QEMU in the Linux user emulation mode as the target board) from: === libatomic Summary === # of unexpected failures 27 # of unresolved testcases 27 to: === libatomic Summary === # of expected passes 54 libatomic/ * configure.ac: Add testsuite/libatomic-test-support.exp to output files. * configure: Regenerate. * testsuite/libatomic-test-support.exp.in: New file. * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New variable. * testsuite/Makefile.in: Regenerate. --- libatomic/configure | 3 +++ libatomic/configure.ac | 1 + libatomic/testsuite/Makefile.am | 2 ++ libatomic/testsuite/Makefile.in | 5 ++++- libatomic/testsuite/libatomic-test-support.exp.in | 1 + 5 files changed, 11 insertions(+), 1 deletion(-) gcc-test-libatomic-gcc-under-test.diff Index: gcc/libatomic/configure =================================================================== --- gcc.orig/libatomic/configure +++ gcc/libatomic/configure @@ -15701,6 +15701,8 @@ fi ac_config_files="$ac_config_files Makefile testsuite/Makefile" +ac_config_files="$ac_config_files testsuite/libatomic-test-support.exp" + cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure @@ -16772,6 +16774,7 @@ do "gstdint.h") CONFIG_COMMANDS="$CONFIG_COMMANDS gstdint.h" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;; + "testsuite/libatomic-test-support.exp") CONFIG_FILES="$CONFIG_FILES testsuite/libatomic-test-support.exp" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac Index: gcc/libatomic/configure.ac =================================================================== --- gcc.orig/libatomic/configure.ac +++ gcc/libatomic/configure.ac @@ -279,4 +279,5 @@ else fi AC_CONFIG_FILES(Makefile testsuite/Makefile) +AC_CONFIG_FILES(testsuite/libatomic-test-support.exp) AC_OUTPUT Index: gcc/libatomic/testsuite/Makefile.am =================================================================== --- gcc.orig/libatomic/testsuite/Makefile.am +++ gcc/libatomic/testsuite/Makefile.am @@ -11,3 +11,5 @@ EXPECT = $(shell if test -f $(top_buildd _RUNTEST = $(shell if test -f $(top_srcdir)/../dejagnu/runtest; then \ echo $(top_srcdir)/../dejagnu/runtest; else echo runtest; fi) RUNTEST = $(_RUNTEST) $(AM_RUNTESTFLAGS) + +EXTRA_DEJAGNU_SITE_CONFIG = libatomic-test-support.exp Index: gcc/libatomic/testsuite/Makefile.in =================================================================== --- gcc.orig/libatomic/testsuite/Makefile.in +++ gcc/libatomic/testsuite/Makefile.in @@ -108,7 +108,7 @@ am__configure_deps = $(am__aclocal_m4_de DIST_COMMON = $(srcdir)/Makefile.am mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs CONFIG_HEADER = $(top_builddir)/auto-config.h -CONFIG_CLEAN_FILES = +CONFIG_CLEAN_FILES = libatomic-test-support.exp CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) @@ -277,6 +277,7 @@ _RUNTEST = $(shell if test -f $(top_srcd echo $(top_srcdir)/../dejagnu/runtest; else echo runtest; fi) RUNTEST = $(_RUNTEST) $(AM_RUNTESTFLAGS) +EXTRA_DEJAGNU_SITE_CONFIG = libatomic-test-support.exp all: all-am .SUFFIXES: @@ -309,6 +310,8 @@ $(top_srcdir)/configure: @MAINTAINER_MOD $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): +libatomic-test-support.exp: $(top_builddir)/config.status $(srcdir)/libatomic-test-support.exp.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ mostlyclean-libtool: -rm -f *.lo Index: gcc/libatomic/testsuite/libatomic-test-support.exp.in =================================================================== --- /dev/null +++ gcc/libatomic/testsuite/libatomic-test-support.exp.in @@ -0,0 +1 @@ +set GCC_UNDER_TEST {@CC@}