From patchwork Fri Nov 18 19:53:04 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 22500 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp380920wrr; Fri, 18 Nov 2022 11:56:43 -0800 (PST) X-Google-Smtp-Source: AA0mqf5VsxBUfE9wuNJgHCxeYloCwZGTZIRhILTzyN1J3RPqZAD7jrCzCgApxBttbk/tWgRl2u/r X-Received: by 2002:a17:90a:1090:b0:212:f52e:55c9 with SMTP id c16-20020a17090a109000b00212f52e55c9mr15192820pja.56.1668801402813; Fri, 18 Nov 2022 11:56:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668801402; cv=none; d=google.com; s=arc-20160816; b=DxqN7RHvAC2s3gNen/kPiEoSoT2ooLk760Z+VnV7jhmtvBuBXzeNNzTC2NY2/LI/gU GZKDFA5LeDwGUzNvGh4qyriE8gUTBlomvrA70jzlRGsOrAoc/D95RuvWnRaJ2QPbY52L Bfk0+XnGY0prKC0bkXp1LQVVgmH4CY6IeRK2Wspq7uXw49Hejq72uIZ+qcF5S7mQ6rKl oQKyAHKiEQAaVGeKtHeWasWbA5vSLKQQN8h5qOsGAnlwjgZRdSdp02cT1XD1kQG9jBYq 7a8wM7q7ViVQjRPcPBtpgCOt97NsZpwd3Luqpomd74JEzlaQQKEBWH1W//sJXdaxz1JK FGnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=v61TrGAmizjZYp44zNw/VwdopfjZbCMiiADwEi/+Q/s=; b=Ft7OR8kuDr+jWcmcQDi8s0RHl1HvRmMwZmeA9ctdUXqkIQ9Z9/Fjn+7MMm0FyoJeBq AktTN3+G9/g60uy/ly6KqdpHj/KaF1x/7399b4s2bjdQqMCT68Zrrgf86t7oGN9O3oUS g/JunN7PpTWGCyzkvcL352y0OlA+YyczFuoKC2HiVx8MHjZo7HAwsnX1hI2KiDAKgRfc ++dpiugFaydRoVMRrV/LfhO4HVvHzCT0uPE8WP6keJH0XspVeu6C/mjyyeAn6WI3KX9v hoItkOm7VGtS11UNYBNpB6jgRxZTofWC+T2XEgtfDiZKqZZxr/NIb1YLeKIputcqfw4q xBrQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=OmJDJst6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c4-20020a624e04000000b0053a339cafb3si4266871pfb.53.2022.11.18.11.56.29; Fri, 18 Nov 2022 11:56:42 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=OmJDJst6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232732AbiKRTxe (ORCPT + 99 others); Fri, 18 Nov 2022 14:53:34 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34518 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229500AbiKRTxU (ORCPT ); Fri, 18 Nov 2022 14:53:20 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3ADA5B855C; Fri, 18 Nov 2022 11:53:19 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id CBEAA62739; Fri, 18 Nov 2022 19:53:18 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 40283C433B5; Fri, 18 Nov 2022 19:53:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1668801198; bh=jkwieIU3zqT3Yga+W23Ydeot77NTQwoHFuXOZC5ErRM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OmJDJst66s2v8a78YN50j8I5Rvjz5x7Ho/PMNoazQk7DzEsi41V9cX1SW75iuf82y XX4EqgRBE2nQpjjOCaNuXsaxuu+dSKz8b88mlWbLTO+FqmTYhN9z1FMEsf5axB/55Z t8TH7w40XCtlGRQG4ojD7ORPgwVCUVnfpG5uHTMplLZti4/g9FVIrxdmBPl+Elm8dv +z2XhZ/EnWl2KWCkADI015z94ufqK5Z8RfniuXynzGeRMYEkojTb4P5xdNfw523X7N 23nkPUmy4fBCC67m8+jFYqrND7/YTTvM/PvjIzDtqJKILNDYlsQ7CR+evEvKb6V6vz 6LzibfRfR/EGA== From: Masahiro Yamada To: linux-kbuild@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Masahiro Yamada Subject: [PATCH 3/6] kbuild: implement {gcc,clang}-min-version only with built-in functions Date: Sat, 19 Nov 2022 04:53:04 +0900 Message-Id: <20221118195307.86049-4-masahiroy@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20221118195307.86049-1-masahiroy@kernel.org> References: <20221118195307.86049-1-masahiroy@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1749865099536973069?= X-GMAIL-MSGID: =?utf-8?q?1749865099536973069?= Now CONFIG_{GCC,CLANG}_VERSION are always 6-digit, replace the shell invocations with the test-ge macro. Please note gcc-min-version must be used against a 6-digit number. Add '0' prefix. Signed-off-by: Masahiro Yamada --- Documentation/kbuild/makefiles.rst | 6 +++--- Makefile | 2 +- drivers/gpu/drm/amd/display/dc/dml/Makefile | 2 +- scripts/Makefile.compiler | 6 +++--- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Documentation/kbuild/makefiles.rst b/Documentation/kbuild/makefiles.rst index 6b7368d1f516..4144f1ce1ab5 100644 --- a/Documentation/kbuild/makefiles.rst +++ b/Documentation/kbuild/makefiles.rst @@ -669,18 +669,18 @@ more details, with real examples. gcc-min-version gcc-min-version tests if the value of $(CONFIG_GCC_VERSION) is greater than - or equal to the provided value and evaluates to y if so. + or equal to the provided value (in 6-digit form) and evaluates to y if so. Example:: - cflags-$(call gcc-min-version, 70100) := -foo + cflags-$(call gcc-min-version, 070100) := -foo In this example, cflags-y will be assigned the value -foo if $(CC) is gcc and $(CONFIG_GCC_VERSION) is >= 7.1. clang-min-version clang-min-version tests if the value of $(CONFIG_CLANG_VERSION) is greater - than or equal to the provided value and evaluates to y if so. + than or equal to the provided value (in 6-digit form) and evaluates to y if so. Example:: diff --git a/Makefile b/Makefile index 303516c035f6..03e6ae36c815 100644 --- a/Makefile +++ b/Makefile @@ -1050,7 +1050,7 @@ endif # ignored, continuing to default to PTRDIFF_MAX. So, left with no other # choice, we must perform a versioned check to disable this warning. # https://lore.kernel.org/lkml/20210824115859.187f272f@canb.auug.org.au -KBUILD_CFLAGS-$(call gcc-min-version, 90100) += -Wno-alloc-size-larger-than +KBUILD_CFLAGS-$(call gcc-min-version, 090100) += -Wno-alloc-size-larger-than KBUILD_CFLAGS += $(KBUILD_CFLAGS-y) $(CONFIG_CC_IMPLICIT_FALLTHROUGH) # disable invalid "can't wrap" optimizations for signed / pointers diff --git a/drivers/gpu/drm/amd/display/dc/dml/Makefile b/drivers/gpu/drm/amd/display/dc/dml/Makefile index ca7d24000621..8006801d1b56 100644 --- a/drivers/gpu/drm/amd/display/dc/dml/Makefile +++ b/drivers/gpu/drm/amd/display/dc/dml/Makefile @@ -34,7 +34,7 @@ dml_ccflags := -mhard-float -maltivec endif ifdef CONFIG_CC_IS_GCC -ifneq ($(call gcc-min-version, 70100),y) +ifneq ($(call gcc-min-version, 070100),y) IS_OLD_GCC = 1 endif endif diff --git a/scripts/Makefile.compiler b/scripts/Makefile.compiler index 20d353dcabfb..db6f0546b0fc 100644 --- a/scripts/Makefile.compiler +++ b/scripts/Makefile.compiler @@ -62,12 +62,12 @@ cc-disable-warning = $(call try-run,\ $(CC) -Werror $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) -W$(strip $(1)) -c -x c /dev/null -o "$$TMP",-Wno-$(strip $(1))) # gcc-min-version -# Usage: cflags-$(call gcc-min-version, 70100) += -foo -gcc-min-version = $(shell [ $(CONFIG_GCC_VERSION)0 -ge $(1)0 ] && echo y) +# Usage: cflags-$(call gcc-min-version, 070100) += -foo +gcc-min-version = $(call test-ge, $(CONFIG_GCC_VERSION), $1) # clang-min-version # Usage: cflags-$(call clang-min-version, 110000) += -foo -clang-min-version = $(shell [ $(CONFIG_CLANG_VERSION)0 -ge $(1)0 ] && echo y) +clang-min-version = $(call test-ge, $(CONFIG_CLANG_VERSION), $1) # ld-option # Usage: KBUILD_LDFLAGS += $(call ld-option, -X, -Y)