From patchwork Tue Sep 12 11:03:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Thomas Schwinge X-Patchwork-Id: 138098 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9ecd:0:b0:3f2:4152:657d with SMTP id t13csp324510vqx; Tue, 12 Sep 2023 04:04:17 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFy8r/zYgwum775QYWPtKdBvqdGFRvzE1x8LrBSAClq0Ubi03jtMAl6tncO9kYWtFy07vlv X-Received: by 2002:a05:6512:3592:b0:500:848a:80df with SMTP id m18-20020a056512359200b00500848a80dfmr9102622lfr.66.1694516657346; Tue, 12 Sep 2023 04:04:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1694516657; cv=none; d=google.com; s=arc-20160816; b=U38Hlcn9i+pTZgXz7LZbBLrnNsx/lOt8WPZVwi3zOHGW0FD/jjorO4dxdxIhZRFBUG /gpDuG54IaIRkInRx579Ede6tMd7cPdngWCSlBMgXX3yh/CjPbJAPRPcL2IzCF1m5PlM 9wDhvuIrDaOlJ7JMyczfj7NKUDC0wzLK+R62u2Z7OE3eu7ErbAV6LZeMF+CyeQvdKxrp 1DyAITuy8nfojEUgmOsbZpgYKoJ9cYlldg27JkTA+6ZRxS+47wIj1klU0MCshjsxxIDg OshXhUxmxpEMj/eK83y/00LAUs7neefQCD7ScsgSvED4P6PD3bT17Y4THnawpgyGVt1G nsAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version:message-id:date :user-agent:references:in-reply-to:subject:to:from:ironport-sdr :dmarc-filter:delivered-to; bh=A9L+Hi56+04CkU2i00PacKD9bdsY6P2tpeWcWjQFPZ8=; fh=auHSvT6m9UGdGuisrjEz1Qa7sroJvvQkTLiWiDYqIis=; b=RW4ez0mvhg6jOXRT2UhiBFevgWQQeHGd02gohsMry/euRAqPzoqSyhHZrNK45891YO +/8r1maD3jgaN2rLEMyckt4G3beqTJm5DFaKM2j5kHs4Zvk3Gi23+y1xduS51OwSuadS FJVT44dVx/zz7k2HFEpkBvwhY6YJSUiFmkrzpyp5cjQKOi/6Voz2vTz+Z5wAu9DUhM6F Mvyq/1HIXpkLocSwMsW6aRkmJFp5NfS5GTxsJAeUEw0C1Fs8zQWk2P7lKyOZ301MlVAo KQiChK2BRKXLWSiHQ+GfflKoy3ATYqhefs51brrHuXuVXo1t9/PL5ZOtZcT0uWA4nKSE Px4Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id f23-20020aa7d857000000b005259d57fb82si8653124eds.3.2023.09.12.04.04.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Sep 2023 04:04:17 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 999E13857727 for ; Tue, 12 Sep 2023 11:04:13 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from esa3.mentor.iphmx.com (esa3.mentor.iphmx.com [68.232.137.180]) by sourceware.org (Postfix) with ESMTPS id 3AC563858D3C for ; Tue, 12 Sep 2023 11:03:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3AC563858D3C Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com X-CSE-ConnectionGUID: i2JRyTGXQn2mt7Dka0sXqA== X-CSE-MsgGUID: 1AILqr05TWeeCpVlNxuQRg== X-IronPort-AV: E=Sophos;i="6.02,139,1688457600"; d="scan'208,223";a="16699047" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa3.mentor.iphmx.com with ESMTP; 12 Sep 2023 03:03:36 -0800 IronPort-SDR: I1IlYMpPwIhpeVHwvchaPHIVPGvx5zohI7K60ZjYRW8OgMw+u6EZMWqTvpvoRyiNh9Odq85vtE pFPnpzjbbDAqQUvAfIFJEVC3IIfAHnXheGwdqdIdR4TkQFG189t9Sst/hKR5puAuYDFzCfSv5o rwETvxVk9iAYN/PywVKqtujYc2CHD1PsCQkH9tvarEsa3pgnGtganCu6R5/g53gqykHPgRA1uK Q8TE1Hu1GYEXzQ+c38Ggn9c8g+OgG+fhCQr2JdQOvJtzN0FTGtCklGq8j0UfRO9FOgrPAAMjVu aH4= From: Thomas Schwinge To: Subject: libatomic: Consider '--with-build-sysroot=[...]' for target libraries' build-tree testing (instead of build-time 'CC' etc.) [PR109951] (was: [PATCH v4 1/5] libatomic/test: Fix compilation for build sysroot) In-Reply-To: References: User-Agent: Notmuch/0.29.3+94~g74c3f1b (https://notmuchmail.org) Emacs/28.2 (x86_64-pc-linux-gnu) Date: Tue, 12 Sep 2023 13:03:28 +0200 Message-ID: <87y1hby7pb.fsf@euler.schwinge.homeip.net> MIME-Version: 1.0 X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) To svr-ies-mbx-10.mgc.mentorg.com (139.181.222.10) X-Spam-Status: No, score=-11.8 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Iain Sandoe , "Maciej W. Rozycki" Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1776829498616962016 X-GMAIL-MSGID: 1776829498616962016 Hi! On 2020-04-04T00:00:44+0100, "Maciej W. Rozycki via Gcc-patches" wrote: > 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 As we've found, this is conceptually problematic, as discussed in "Consider '--with-build-sysroot=[...]' for target libraries' build-tree testing (instead of build-time 'CC' etc.) [PR109951]". I therefore suggest to apply to libatomic the conceptually same changes as I've just pushed for libgomp: "libgomp: Consider '--with-build-sysroot=[...]' for target libraries' build-tree testing (instead of build-time 'CC' etc.) [PR91884, PR109951]". OK to push the attached "libatomic: Consider '--with-build-sysroot=[...]' for target libraries' build-tree testing (instead of build-time 'CC' etc.) [PR109951]"? Grüße Thomas ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955 From 584bfb74e802b94c490b963bd05ed520b5c6e453 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Mon, 11 Sep 2023 11:36:31 +0200 Subject: [PATCH] libatomic: Consider '--with-build-sysroot=[...]' for target libraries' build-tree testing (instead of build-time 'CC' etc.) [PR109951] Similar to commit fb5d27be272b71fb9026224535fc73f125ce3be7 "libgomp: Consider '--with-build-sysroot=[...]' for target libraries' build-tree testing (instead of build-time 'CC' etc.) [PR91884, PR109951]", this is commit 5ff06d762a88077aff0fb637c931c64e6f47f93d "libatomic/test: Fix compilation for build sysroot" done differently, avoiding build-tree testing use of any random gunk that may appear in build-time 'CC'. PR testsuite/109951 libatomic/ * configure.ac: 'AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)'. * Makefile.in: Regenerate. * configure: Likewise. * testsuite/Makefile.in: Likewise. * testsuite/lib/libatomic.exp (libatomic_init): If '--with-build-sysroot=[...]' was specified, use it for build-tree testing. * testsuite/libatomic-site-extra.exp.in (GCC_UNDER_TEST): Don't set. (SYSROOT_CFLAGS_FOR_TARGET): Set. --- libatomic/Makefile.in | 1 + libatomic/configure | 7 +++++-- libatomic/configure.ac | 2 ++ libatomic/testsuite/Makefile.in | 1 + libatomic/testsuite/lib/libatomic.exp | 5 +++++ libatomic/testsuite/libatomic-site-extra.exp.in | 2 +- 6 files changed, 15 insertions(+), 3 deletions(-) diff --git a/libatomic/Makefile.in b/libatomic/Makefile.in index 83efe7d2694..2d2d64ee947 100644 --- a/libatomic/Makefile.in +++ b/libatomic/Makefile.in @@ -328,6 +328,7 @@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIZES = @SIZES@ STRIP = @STRIP@ +SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@ VERSION = @VERSION@ XCFLAGS = @XCFLAGS@ XLDFLAGS = @XLDFLAGS@ diff --git a/libatomic/configure b/libatomic/configure index 57f320753e1..629ad22e833 100755 --- a/libatomic/configure +++ b/libatomic/configure @@ -656,6 +656,7 @@ LIBAT_BUILD_VERSIONED_SHLIB_FALSE LIBAT_BUILD_VERSIONED_SHLIB_TRUE OPT_LDFLAGS SECTION_LDFLAGS +SYSROOT_CFLAGS_FOR_TARGET enable_aarch64_lse libtool_VERSION MAINT @@ -11402,7 +11403,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11405 "configure" +#line 11406 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11508,7 +11509,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11511 "configure" +#line 11512 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11866,6 +11867,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu ;; esac + + # Get target configury. . ${srcdir}/configure.tgt if test -n "$UNSUPPORTED"; then diff --git a/libatomic/configure.ac b/libatomic/configure.ac index 318b605a1d7..4beff2d681f 100644 --- a/libatomic/configure.ac +++ b/libatomic/configure.ac @@ -170,6 +170,8 @@ case "$target" in ;; esac +AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET) + # Get target configury. . ${srcdir}/configure.tgt if test -n "$UNSUPPORTED"; then diff --git a/libatomic/testsuite/Makefile.in b/libatomic/testsuite/Makefile.in index b874ac527a9..247268f1949 100644 --- a/libatomic/testsuite/Makefile.in +++ b/libatomic/testsuite/Makefile.in @@ -198,6 +198,7 @@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIZES = @SIZES@ STRIP = @STRIP@ +SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@ VERSION = @VERSION@ XCFLAGS = @XCFLAGS@ XLDFLAGS = @XLDFLAGS@ diff --git a/libatomic/testsuite/lib/libatomic.exp b/libatomic/testsuite/lib/libatomic.exp index 10f38475bc8..43b54212d90 100644 --- a/libatomic/testsuite/lib/libatomic.exp +++ b/libatomic/testsuite/lib/libatomic.exp @@ -146,6 +146,11 @@ proc libatomic_init { args } { set ALWAYS_CFLAGS "" if { $blddir != "" } { + # If '--with-build-sysroot=[...]' was specified, use it for build-tree + # testing. + global SYSROOT_CFLAGS_FOR_TARGET + lappend ALWAYS_CFLAGS "additional_flags=${SYSROOT_CFLAGS_FOR_TARGET}" + lappend ALWAYS_CFLAGS "additional_flags=-B${blddir}/" lappend ALWAYS_CFLAGS "additional_flags=-I${blddir}" lappend ALWAYS_CFLAGS "ldflags=-L${blddir}/.libs" diff --git a/libatomic/testsuite/libatomic-site-extra.exp.in b/libatomic/testsuite/libatomic-site-extra.exp.in index c0d26660bad..5c81b7750bb 100644 --- a/libatomic/testsuite/libatomic-site-extra.exp.in +++ b/libatomic/testsuite/libatomic-site-extra.exp.in @@ -1 +1 @@ -set GCC_UNDER_TEST {@CC@} +set SYSROOT_CFLAGS_FOR_TARGET {@SYSROOT_CFLAGS_FOR_TARGET@} -- 2.34.1