From patchwork Thu May 17 06:17:04 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 136101 Delivered-To: patch@linaro.org Received: by 2002:a2e:9706:0:0:0:0:0 with SMTP id r6-v6csp1879811lji; Wed, 16 May 2018 23:22:02 -0700 (PDT) X-Google-Smtp-Source: AB8JxZqON38GBSXzye73A51NSEV+CeOVons/9jnXSrRa/SK/q9V7X0LVTLtsUlkBiOWCjc4QQTqD X-Received: by 2002:a17:902:bd84:: with SMTP id q4-v6mr4066576pls.254.1526538122285; Wed, 16 May 2018 23:22:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526538122; cv=none; d=google.com; s=arc-20160816; b=AEc04UVVBvZcuxXQeavD0qoPt1oHoupqcEyNUuvmf6R53xCD9OKxTruKyEIbaraTLm 00lguqAgshXgsGifzQqoHfsI6TiVcVmG7H9lxXWNEJDql6s7SG619Yf4nU+ydGWplTzX X6li4eDNDs1S8FKalQMlZ3s3kjGwHAKl7+caIXEBk0Ee06FcyctijnTAwmAUxVmP4OaO DQSU67VfP3qrnvhw9GKrBMfvh+52U0op/4f7T2fvSODXRBMbPnAWkd/cl6PX0AFwuZFN b7WfS3PXWjPcM5J43oQSxPjLV060rAvvKnzWGNnf7rieYrndJ3RmDF2IvaeOrYXvhW5G 0E6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:dkim-filter :arc-authentication-results; bh=pS+3Y6tL7lsg15LY3hyDjKNMmofohNoh9cls+dafNuI=; b=NdjQQ1f0iDOo+FPYslQXwLpG2ZxwRQjWBK2Oi43/a6RDnzsf3zbuHbSz0J5gjCAnz9 YDrT3iVRJMC3VHjOiUI4sghi/iqUvn8T1eqwUX743sL9dwKhlrxl9kO7xXV7f12nrAKr oY9jHKTVijOIhXyPFsDY7lfP43JzBUGxj/ThC9DqbyYd0m9K8UL548636GjICTuy8Msm KyjUSgHy1ZmHBfPA6ICgNWep9SI4L48tdfGmMkQZiQhtXZVzYqG+J2+pE3XqlvNcm79w m7zkW+N9AszAgSTDU9SQhk4L1XOJDKxMnzd9ogMPfbmdLfLp5fBgx6qlHKQRe/70SWQn BYyA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=2sOKnPuD; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u62-v6si3402108pgc.180.2018.05.16.23.22.01; Wed, 16 May 2018 23:22:02 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=2sOKnPuD; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752400AbeEQGVa (ORCPT + 29 others); Thu, 17 May 2018 02:21:30 -0400 Received: from conuserg-10.nifty.com ([210.131.2.77]:26235 "EHLO conuserg-10.nifty.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752348AbeEQGT5 (ORCPT ); Thu, 17 May 2018 02:19:57 -0400 Received: from pug.e01.socionext.com (p14092-ipngnfx01kyoto.kyoto.ocn.ne.jp [153.142.97.92]) (authenticated) by conuserg-10.nifty.com with ESMTP id w4H6HbUN002841; Thu, 17 May 2018 15:18:02 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-10.nifty.com w4H6HbUN002841 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1526537883; bh=pS+3Y6tL7lsg15LY3hyDjKNMmofohNoh9cls+dafNuI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=2sOKnPuDchlf3BngORWQN5PBCnoFsahgibarF/6RPZPQSGnuK7iIBltCkWrrTyZtb 4SStrqrfzHOBmZvfKtdRSmnbEaVDPcPIKAmzMCKp49F1QvBaI2nwvTYOE3Kk5FQ79h MFEFYjk8bRbTMC6OAHZ9a7k4sADqpYvI19gSaJ49dHT9+jM4SeSwik22kJ4hxEzWQs l/iTYFyya29G0HYDohBNq07iRvMm/CQXVIu4sAmMAsP/+MXiBqvTQbx/UlN9OQD0S4 Etan2Lllq++AmANhqyGfMhKrxrCm/PQNwBwspbvcsuQjBrj6oLZHi2r0K3jSvGxhSM 8y3s5wF6iR4NQ== X-Nifty-SrcIP: [153.142.97.92] From: Masahiro Yamada To: linux-kbuild@vger.kernel.org Cc: Linus Torvalds , Sam Ravnborg , Ulf Magnusson , "Luis R . Rodriguez" , linux-kernel@vger.kernel.org, Nicholas Piggin , Kees Cook , Emese Revfy , x86@kernel.org, Masahiro Yamada Subject: [PATCH v4 25/31] kconfig: add CC_IS_CLANG and CLANG_VERSION Date: Thu, 17 May 2018 15:17:04 +0900 Message-Id: <1526537830-22606-26-git-send-email-yamada.masahiro@socionext.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1526537830-22606-1-git-send-email-yamada.masahiro@socionext.com> References: <1526537830-22606-1-git-send-email-yamada.masahiro@socionext.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This will be useful to describe the clang version dependency. Signed-off-by: Masahiro Yamada Reviewed-by: Kees Cook --- Changes in v4: None Changes in v3: None Changes in v2: None init/Kconfig | 7 +++++++ scripts/clang-version.sh | 18 ++++-------------- 2 files changed, 11 insertions(+), 14 deletions(-) -- 2.7.4 diff --git a/init/Kconfig b/init/Kconfig index c6ac856..3aeb37a 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -16,6 +16,13 @@ config GCC_VERSION default $(shell, $(srctree)/scripts/gcc-version.sh -p $(CC) | sed 's/^0*//') if CC_IS_GCC default 0 +config CC_IS_CLANG + def_bool $(success, $(CC) --version | grep -q clang) + +config CLANG_VERSION + int + default $(shell, $(srctree)/scripts/clang-version.sh $(CC)) + config CONSTRUCTORS bool depends on !UML diff --git a/scripts/clang-version.sh b/scripts/clang-version.sh index 9780efa..dbf0a31 100755 --- a/scripts/clang-version.sh +++ b/scripts/clang-version.sh @@ -10,24 +10,14 @@ # clang-5.0.1 etc. # -if [ "$1" = "-p" ] ; then - with_patchlevel=1; - shift; -fi - compiler="$*" -if [ ${#compiler} -eq 0 ]; then - echo "Error: No compiler specified." - printf "Usage:\n\t$0 \n" +if !( $compiler --version | grep -q clang) ; then + echo 0 exit 1 fi MAJOR=$(echo __clang_major__ | $compiler -E -x c - | tail -n 1) MINOR=$(echo __clang_minor__ | $compiler -E -x c - | tail -n 1) -if [ "x$with_patchlevel" != "x" ] ; then - PATCHLEVEL=$(echo __clang_patchlevel__ | $compiler -E -x c - | tail -n 1) - printf "%02d%02d%02d\\n" $MAJOR $MINOR $PATCHLEVEL -else - printf "%02d%02d\\n" $MAJOR $MINOR -fi +PATCHLEVEL=$(echo __clang_patchlevel__ | $compiler -E -x c - | tail -n 1) +printf "%d%02d%02d\\n" $MAJOR $MINOR $PATCHLEVEL