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: 1832936 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4RlLLT3d2Zz1ygM for ; Tue, 12 Sep 2023 21:04:01 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 7576E3858020 for ; Tue, 12 Sep 2023 11:03:59 +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+incoming=patchwork.ozlabs.org@gcc.gnu.org Sender: "Gcc-patches" 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