Received: by 10.213.65.68 with SMTP id h4csp341239imn; Wed, 28 Mar 2018 04:47:10 -0700 (PDT) X-Google-Smtp-Source: AIpwx4+XQ02dFam97gp3A5QM86UNsJFH1iJaZzeev/z9fAu6yHaTyw4xF9dOiOaFWqOSeelQ6rux X-Received: by 10.101.97.169 with SMTP id i9mr2322176pgv.31.1522237630634; Wed, 28 Mar 2018 04:47:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1522237630; cv=none; d=google.com; s=arc-20160816; b=CgchxxKcZXAleRP/lsDHfUItqb6KzqB7flBHZ85sQ8345CrPfHi9ZzTeAXoPhloLaQ yjrNUdC9jdqQdikDp8Wd52Fg3X1c7gCQsh3p5DkTngpxCqiQCOcBq6ndbjLgPiStRieF a9QGtE35n1XAb4Fu9E7DIZiEoI1D8bRfAyzLT1Aw+FaPzTtzCqKrRzlgmlbIWKBBPeyn ZjYAKQIREI+xRBzaWRvMzeBe8gYVdc5D/noTzz2bgZ9lK2+AWIOHbIQotjaBFVyqa2QO /1A5JhMf3G1oN8Q+NZMwtFIZgHRBqx5UPUmuBM7Jlk9mmi/4mZULgcKqJun0Xa9MTuYV J9xg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature:dkim-signature :arc-authentication-results; bh=1+5uOATyFMmVV9uywZTpDnhaIM836Z9EdXeLsFl9o6w=; b=mp963c3Tdhy+ph2CqwhFe0r1W5aCY5P8YYdM5i37Pkkrvr4HdrdIk/yUTz2C7ac/zQ gZWpyioO6fPl8Mg8a2EAjRmLWwwtD3G6cR9HNh11+K6TwvBxXGnVX8e+2+OxCfdRLYqK xqsuYpZAn31Q6f+XsYQRt9r8ZkY+sDo1mGpq7Xu/33FQjM0p64iemfhoLY9rOztpdKkO eK0S6GZ40u/hTf8R0xwr2dFCOS+s8OVvHgwfGl6FkHr8+eA+7aMUjPpGTVqOewMlav/5 gp6jaPxtTkmC4XiuXWZOW08e9nGAamtoQw+F12MDrQ8icQ+faWf7hPkx/JPpqM7LnAcA O8+Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@google.com header.s=20161025 header.b=VLpKKHUV; dkim=fail header.i=@chromium.org header.s=google header.b=T29Q9vd1; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i3-v6si3457979pld.241.2018.03.28.04.46.55; Wed, 28 Mar 2018 04:47:10 -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=fail header.i=@google.com header.s=20161025 header.b=VLpKKHUV; dkim=fail header.i=@chromium.org header.s=google header.b=T29Q9vd1; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752125AbeC1Lof (ORCPT + 99 others); Wed, 28 Mar 2018 07:44:35 -0400 Received: from mail-ua0-f195.google.com ([209.85.217.195]:35645 "EHLO mail-ua0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751114AbeC1Lod (ORCPT ); Wed, 28 Mar 2018 07:44:33 -0400 Received: by mail-ua0-f195.google.com with SMTP id c40so1316443uae.2 for ; Wed, 28 Mar 2018 04:44:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=1+5uOATyFMmVV9uywZTpDnhaIM836Z9EdXeLsFl9o6w=; b=VLpKKHUVGvxmt9+oiFAZzr249UgDf2KOhbAXgQ0TXekNRssFmBjHkJElFa4eF5BPJW usDTwdOkG5yMm1PVXlr8SNSSvwLg72eOSANkQN49XpHsAyR0Ti2mkIg6mFU+OKgfqZ6k 4F5oJH1D6gyJp/GsM811xAHzsDQ99NUhXa+TuWPnSXV96CBjpIVAzYZ0X2ZdNp+V65Qf mKWCQAKrrk5M0XmGX/sNrbBbZVhkDmTpbJIVSpa6qSOFivH7Uz/FER5lyWX/VUZJSPCN eu+K2fVJWlvcCKdtajQAs2ACI5D5BYc0Ze53uNtzKacbkDmBc2SwvsVmUnsb4szlF1f9 LxOQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=1+5uOATyFMmVV9uywZTpDnhaIM836Z9EdXeLsFl9o6w=; b=T29Q9vd1enzpHqyzo+By2vRGv2Sx4BZzKdqYj0kEY/6GT4tRM3xFYkdFA+PLTyM5Tz u+KPxWEkU9OXylYf0+98x/RXhh9hE39r70Nke5J/LFikD2lBe6TAtxh11PheSqTxXblF frB/+HuyPtLfG1cf6IiSO6ma6dbXNgK4C/goA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=1+5uOATyFMmVV9uywZTpDnhaIM836Z9EdXeLsFl9o6w=; b=ZmQNPn+F5LAdmqFkUIcPryzqafymmMyYnMEWeuK63SFdrZkrr9Sf4sB1kCNi8aAcHL bkEVqmfa0FJcFc6eSyWQzHXme0VJgsHXu+n6YhiyLY+Vf2Z57nWllC3gh2PTWQXms0zl YCiJjCd0+BCt9ePlG5Ej3/yZ1ntyFsLsBp7n/FHUoSvECbESWDSaAFwVVgbPmIFXEI3c NFY/h01ECEkTbUpjhSFwWy2bYD1JhG+ffvm+mAu8D06BzFaXE0V4vp041x1lgMhcuegd 17uyYrKFQtoxo2tyMOcE5I4OFSjvSzJmd9smJDB/suabGsqJofajefy1/UjJV3ZiUlNz YX3g== X-Gm-Message-State: AElRT7HECystg4EAsKV7h3Wyxt0+hxOtQH41eeUasVszvEK5qHaxQYTQ hqdcI5R9MK91Xm5IuGbn88gyHxrvvGxFf/mdZGjdXw== X-Received: by 10.176.14.3 with SMTP id g3mr2109232uak.83.1522237472689; Wed, 28 Mar 2018 04:44:32 -0700 (PDT) MIME-Version: 1.0 Received: by 10.31.129.9 with HTTP; Wed, 28 Mar 2018 04:44:32 -0700 (PDT) In-Reply-To: <1522128575-5326-20-git-send-email-yamada.masahiro@socionext.com> References: <1522128575-5326-1-git-send-email-yamada.masahiro@socionext.com> <1522128575-5326-20-git-send-email-yamada.masahiro@socionext.com> From: Kees Cook Date: Wed, 28 Mar 2018 04:44:32 -0700 X-Google-Sender-Auth: BVfWeCvreBACn9Qbm96MH6wluwE Message-ID: Subject: Re: [PATCH v2 19/21] gcc-plugins: test GCC plugin support in Kconfig To: Masahiro Yamada Cc: linux-kbuild , Sam Ravnborg , Linus Torvalds , Arnd Bergmann , Ulf Magnusson , Thomas Gleixner , Greg Kroah-Hartman , Randy Dunlap , "Luis R . Rodriguez" , Nicolas Pitre , LKML , Kernel Hardening , Emese Revfy Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Mar 26, 2018 at 10:29 PM, Masahiro Yamada wrote: > Run scripts/gcc-plugin.sh from Kconfig. Users can enable GCC_PLUGINS > only when it is supported. > > Signed-off-by: Masahiro Yamada > --- > > Changes in v2: None > > arch/Kconfig | 4 +++ > scripts/Makefile.gcc-plugins | 82 ++++++++++++++++---------------------------- > scripts/gcc-plugin.sh | 1 - > 3 files changed, 33 insertions(+), 54 deletions(-) > > diff --git a/arch/Kconfig b/arch/Kconfig > index b42378d..88cc925 100644 > --- a/arch/Kconfig > +++ b/arch/Kconfig > @@ -407,9 +407,13 @@ config HAVE_GCC_PLUGINS > An arch should select this symbol if it supports building with > GCC plugins. > > +config CC_HAS_GCC_PLUGINS > + bool > + This doesn't seem used anywhere? > menuconfig GCC_PLUGINS > bool "GCC plugins" > depends on HAVE_GCC_PLUGINS > + depends on $(success $srctree/scripts/gcc-plugin.sh $HOSTCXX $CC) > depends on !COMPILE_TEST > help > GCC plugins are loadable modules that provide extra features to the > diff --git a/scripts/Makefile.gcc-plugins b/scripts/Makefile.gcc-plugins > index 25da4c0..19d0d5b 100644 > --- a/scripts/Makefile.gcc-plugins > +++ b/scripts/Makefile.gcc-plugins > [...] > -# If plugins aren't supported, abort the build before hard-to-read compiler > -# errors start getting spewed by the main build. > -PHONY += gcc-plugins-check > -gcc-plugins-check: FORCE > -ifdef CONFIG_GCC_PLUGINS > - ifeq ($(PLUGINCC),) > - ifneq ($(GCC_PLUGINS_CFLAGS),) > - $(Q)$(srctree)/scripts/gcc-plugin.sh --show-error $(HOSTCXX) $(CC) || true > - @echo "Cannot use CONFIG_GCC_PLUGINS: your gcc installation does not support plugins, perhaps the necessary headers are missing?" >&2 && exit 1 As mentioned in the other email, we lose the error reporting. Now the lack of plugins is just a silent =n in menuconfig. Keeping --show-error in the Kconfig call and retaining stderr would be nice. I need to do some further testing with SANCOV, but otherwise this all looks correct, and my testing shows it behaving correctly. -Kees -- Kees Cook Pixel Security