From nobody Mon May 13 16:52:32 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1627051824513996.7242272713163; Fri, 23 Jul 2021 07:50:24 -0700 (PDT) Received: from localhost ([::1]:36144 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m6wVL-0007Ep-AM for importer@patchew.org; Fri, 23 Jul 2021 10:50:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54474) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m6wRV-0002g6-0t for qemu-devel@nongnu.org; Fri, 23 Jul 2021 10:46:25 -0400 Received: from us-smtp-delivery-44.mimecast.com ([207.211.30.44]:28565) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m6wRR-0007Qf-ST for qemu-devel@nongnu.org; Fri, 23 Jul 2021 10:46:24 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-65-O_RHg1zvP-W1wtUUcyLNHg-1; Fri, 23 Jul 2021 10:46:07 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 307011009E43; Fri, 23 Jul 2021 14:46:05 +0000 (UTC) Received: from bahia.lan (unknown [10.39.192.85]) by smtp.corp.redhat.com (Postfix) with ESMTP id B88875D6AD; Fri, 23 Jul 2021 14:46:03 +0000 (UTC) X-MC-Unique: O_RHg1zvP-W1wtUUcyLNHg-1 From: Greg Kurz To: qemu-devel@nongnu.org Subject: [PATCH 1/2] configure: Fix trivial typo in --cross-cc-cflags-FOO Date: Fri, 23 Jul 2021 16:46:00 +0200 Message-Id: <20210723144601.1038381-2-groug@kaod.org> In-Reply-To: <20210723144601.1038381-1-groug@kaod.org> References: <20210723144601.1038381-1-groug@kaod.org> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=groug@kaod.org X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: kaod.org Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: softfail client-ip=207.211.30.44; envelope-from=groug@kaod.org; helo=us-smtp-delivery-44.mimecast.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_SOFTFAIL=0.665 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-trivial@nongnu.org, alex.bennee@linaro.org, Michael Tokarev , Laurent Vivier , Greg Kurz Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZM-MESSAGEID: 1627051825504100001 Content-Type: text/plain; charset="utf-8" The 'flags' wording is used in several places instead of 'cflags'. $ git grep cross-cc-flags configure: --cross-cc-cflags-*) cc_arch=3D${opt#--cross-cc-flags-}; cc_arc= h=3D${cc_arch%%=3D*} configure: --cross-cc-flags-ARCH=3D use compiler flags when building ARC= H guest tests docs/devel/testing.rst:There is also a ``--cross-cc-flags-ARCH`` flag in ca= se additional Fix this treewide. Fixes: d422b2bc23bf ("configure: allow user to specify --cross-cc-cflags-fo= o=3D") Fixes: f8ed349e6d14 ("docs/devel: add "check-tcg" to testing.rst") Cc: alex.bennee@linaro.org Signed-off-by: Greg Kurz --- configure | 4 ++-- docs/devel/testing.rst | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/configure b/configure index b5965b159f2f..3a926ff8fc23 100755 --- a/configure +++ b/configure @@ -474,7 +474,7 @@ for opt do ;; --cross-cc-*[!a-zA-Z0-9_-]*=3D*) error_exit "Passed bad --cross-cc-FOO o= ption" ;; - --cross-cc-cflags-*) cc_arch=3D${opt#--cross-cc-flags-}; cc_arch=3D${cc_= arch%%=3D*} + --cross-cc-cflags-*) cc_arch=3D${opt#--cross-cc-cflags-}; cc_arch=3D${cc= _arch%%=3D*} eval "cross_cc_cflags_${cc_arch}=3D\$optarg" cross_cc_vars=3D"$cross_cc_vars cross_cc_cflags_${cc= _arch}" ;; @@ -1764,7 +1764,7 @@ Advanced options (experts only): --extra-cxxflags=3DCXXFLAGS append extra C++ compiler flags QEMU_CXXFLAGS --extra-ldflags=3DLDFLAGS append extra linker flags LDFLAGS --cross-cc-ARCH=3DCC use compiler when building ARCH guest test ca= ses - --cross-cc-flags-ARCH=3D use compiler flags when building ARCH guest t= ests + --cross-cc-cflags-ARCH=3DCFLAGS use compiler flags when building ARCH gu= est tests --make=3DMAKE use specified make [$make] --python=3DPYTHON use specified python [$python] --sphinx-build=3DSPHINX use specified sphinx-build [$sphinx_build] diff --git a/docs/devel/testing.rst b/docs/devel/testing.rst index 8f572255d320..a8c8aa365cf8 100644 --- a/docs/devel/testing.rst +++ b/docs/devel/testing.rst @@ -1142,7 +1142,7 @@ for the architecture in question, for example:: =20 $(configure) --cross-cc-aarch64=3Daarch64-cc =20 -There is also a ``--cross-cc-flags-ARCH`` flag in case additional +There is also a ``--cross-cc-cflags-ARCH`` flag in case additional compiler flags are needed to build for a given target. =20 If you have the ability to run containers as the user the build system --=20 2.31.1 From nobody Mon May 13 16:52:32 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1627051926499679.6469769794533; Fri, 23 Jul 2021 07:52:06 -0700 (PDT) Received: from localhost ([::1]:38604 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m6wWz-0000ls-BV for importer@patchew.org; Fri, 23 Jul 2021 10:52:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54510) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m6wRW-0002gk-8K for qemu-devel@nongnu.org; Fri, 23 Jul 2021 10:46:27 -0400 Received: from us-smtp-delivery-44.mimecast.com ([205.139.111.44]:37502) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m6wRR-0007Oq-SX for qemu-devel@nongnu.org; Fri, 23 Jul 2021 10:46:26 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-328-YfbIQEUvPE2P_fL3WhfHqw-1; Fri, 23 Jul 2021 10:46:08 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id CD982760FB; Fri, 23 Jul 2021 14:46:06 +0000 (UTC) Received: from bahia.lan (unknown [10.39.192.85]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7E5046C8D5; Fri, 23 Jul 2021 14:46:05 +0000 (UTC) X-MC-Unique: YfbIQEUvPE2P_fL3WhfHqw-1 From: Greg Kurz To: qemu-devel@nongnu.org Subject: [PATCH 2/2] configure: Fix excessive error detection when handling --cross-cc-FOO Date: Fri, 23 Jul 2021 16:46:01 +0200 Message-Id: <20210723144601.1038381-3-groug@kaod.org> In-Reply-To: <20210723144601.1038381-1-groug@kaod.org> References: <20210723144601.1038381-1-groug@kaod.org> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=groug@kaod.org X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: kaod.org Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: softfail client-ip=205.139.111.44; envelope-from=groug@kaod.org; helo=us-smtp-delivery-44.mimecast.com X-Spam_score_int: 0 X-Spam_score: -0.0 X-Spam_bar: / X-Spam_report: (-0.0 / 5.0 requ) RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_SOFTFAIL=0.665 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-trivial@nongnu.org, alex.bennee@linaro.org, Michael Tokarev , Laurent Vivier , Greg Kurz Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZM-MESSAGEID: 1627051927682100001 Content-Type: text/plain; charset="utf-8" Passing a --cross-cc-cflags-* option with a value that contains a '=3D' causes configure to exit: $ ./configure --cross-cc-cflags-arm=3D'-DFOO=3Dbar' ERROR: Passed bad --cross-cc-FOO option This is an annoying limitation since '=3D' is frequently found in CFLAGS. This is caused by this line in the CC options parsing loop: --cross-cc-*[!a-zA-Z0-9_-]*=3D*) error_exit "Passed bad --cross-cc-FOO op= tion" The '[!a-zA-Z0-9_-]' pattern matches the first '=3D' in the option and the '=3D' pattern matches the other one. The '*' patterns then match the rest. The intent seems to be that we only want characters from the range [a-zA-Z0-9_-] in the option name. Shell pattern matching isn't powerful enough to do that with a single expression. First, isolate the option name, i.e. before the first '=3D' character, with a regular expression. Only error out if there's at least one unwanted character in the name. Fixes: d75402b5ee29 ("configure: add support for --cross-cc-FOO") Cc: alex.bennee@linaro.org Signed-off-by: Greg Kurz --- configure | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/configure b/configure index 3a926ff8fc23..61a415e4dc61 100755 --- a/configure +++ b/configure @@ -472,16 +472,23 @@ for opt do ;; --disable-debug-info) debug_info=3D"no" ;; - --cross-cc-*[!a-zA-Z0-9_-]*=3D*) error_exit "Passed bad --cross-cc-FOO o= ption" - ;; - --cross-cc-cflags-*) cc_arch=3D${opt#--cross-cc-cflags-}; cc_arch=3D${cc= _arch%%=3D*} - eval "cross_cc_cflags_${cc_arch}=3D\$optarg" - cross_cc_vars=3D"$cross_cc_vars cross_cc_cflags_${cc= _arch}" - ;; - --cross-cc-*) cc_arch=3D${opt#--cross-cc-}; cc_arch=3D${cc_arch%%=3D*} - cc_archs=3D"$cc_archs $cc_arch" - eval "cross_cc_${cc_arch}=3D\$optarg" - cross_cc_vars=3D"$cross_cc_vars cross_cc_${cc_arch}" + --cross-cc-*=3D*) + optname=3D$(expr "x$opt" : 'x\([^=3D]*\)=3D.*') + case "$optname" in + *[!a-zA-Z0-9_-]*) error_exit "Passed bad $optname option" + ;; + esac + case "$opt" in + --cross-cc-cflags-*) cc_arch=3D${opt#--cross-cc-cflags-}; cc_arch=3D${= cc_arch%%=3D*} + eval "cross_cc_cflags_${cc_arch}=3D\$optarg" + cross_cc_vars=3D"$cross_cc_vars cross_cc_cflags_$= {cc_arch}" + ;; + --cross-cc-*) cc_arch=3D${opt#--cross-cc-}; cc_arch=3D${cc_arch%%=3D*} + cc_archs=3D"$cc_archs $cc_arch" + eval "cross_cc_${cc_arch}=3D\$optarg" + cross_cc_vars=3D"$cross_cc_vars cross_cc_${cc_arch}" + ;; + esac ;; esac done --=20 2.31.1