From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752117AbcGRTu4 (ORCPT ); Mon, 18 Jul 2016 15:50:56 -0400 Received: from mout.kundenserver.de ([212.227.126.135]:56183 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751214AbcGRTuy (ORCPT ); Mon, 18 Jul 2016 15:50:54 -0400 From: Arnd Bergmann To: Josh Triplett Cc: Linux Kbuild mailing list , Michal Marek , "Yann E . MORIN" , Darren Hart , kernel-build-reports@lists.linaro.org, Thiago Macieira , Linux Kernel Mailing List , Masahiro Yamada Subject: Re: [PATCH] kconfig: tinyconfig: provide whole choice blocks to avoid warnings Date: Mon, 18 Jul 2016 21:50:26 +0200 Message-ID: <2983805.jYMhKx0S9Q@wuerfel> User-Agent: KMail/5.1.3 (Linux/4.4.0-28-generic; KDE/5.18.0; x86_64; ; ) In-Reply-To: <20160718193140.GA11720@x> References: <20160718160035.3062818-1-arnd@arndb.de> <20160718193140.GA11720@x> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V03:K0:vSmduzZb03olbj2mzMbF8iMp/Msxy3wihIm1UXSP7t8LcnON4ZS Y6dDtdq5keFZrwRK1d+MOwuaHlHFh3CzWXgmUE+D36T0wSWgB9JSstxDIWjNw7P2nUSNFQA mm5ynEQMVvPZV+YH45MRrGrjwzNJMPBb4UTVvIK8E1hNRdy6EPHY4uXXjjYyhz9uqZev67e BSEsVp+QLUgAhRDPGsuYQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:M6gOsYRRTFo=:1qG5Mm7zauTpEo2JjKTtmc v+6XRzFsniWi8bI4WqEB/3MNQZq/ai8nd4BauV94gpcyut/9xrXkPMded6xnTmrEC0x4os0zH ri65sNganD2fOga20QEJvNTWZqucAXgdfloZ1rn1LrkP0crU1IHhS6afjcxZ75e1p+f3LRGYU nJw7b9NXpAsOJ4umV0w1buE1jNfE2yXyJ538rLcbkP4hcdA4Q8kFwSLDzJ5SyQX0QGjoVUftq /9jlGsMqbL9ioqK0kSA5J0R2r6qfO9DizmtgcBGUI8AxVeJH60GnumRNFgof/dv1QDPo06LaG 1MNlW2OZJaqL64wjO3xISKXSJtt51k+KfS2jqLv9PmJO9ZXmb4++qMRUNnnlnnt6eVoVz7z8T hPPPd4UJIOX3YcYbidkhf/HMPH9a7pd5by7yxVUHZa//fSuPE9tFXE051LzEZV0kKPm6BgS+v zP85tFIWoT9zEGBf/2Zp61Eiyoo8BNmpcRZsPi2hlwiB6QMO5Y0E4gtMaJGA3YzHfOIPrtmbU 6TdqgJBd0e4jyCOmG8tkscTLT9/B28I/H+9QRdi6LgbjTILCYo3h6KzvIR87OUzHMD5+zD30p Q0khw9DA4U+SFuptecjWLac7OrL26hyTIVg8uVvn7mBvQIx7XQFeEhKAWQqABPVQMZacZIOzS GSL0F2RmWRnG6uepMNuuxz57UzxRtLsJKZ04+aR+jL7yvPZd9AcY0A1GFrLFGXk/qtYUpzIX3 TlNWSdBZCzcVcJtP Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Monday, July 18, 2016 12:31:40 PM CEST Josh Triplett wrote: > On Mon, Jul 18, 2016 at 06:00:23PM +0200, Arnd Bergmann wrote: > > Using "make tinyconfig" produces a couple of annoying warnings that show up > > for build test machines all the time: > > > > .config:966:warning: override: NOHIGHMEM changes choice state > > .config:965:warning: override: SLOB changes choice state > > .config:963:warning: override: KERNEL_XZ changes choice state > > .config:962:warning: override: CC_OPTIMIZE_FOR_SIZE changes choice state > > .config:933:warning: override: SLOB changes choice state > > .config:930:warning: override: CC_OPTIMIZE_FOR_SIZE changes choice state > > .config:870:warning: override: SLOB changes choice state > > .config:868:warning: override: KERNEL_XZ changes choice state > > .config:867:warning: override: CC_OPTIMIZE_FOR_SIZE changes choice state > > > > I've made a previous attempt at fixing them and we discussed a number of > > alternatives. > > > > I tried changing the Makefile to use "merge_config.sh -n $(fragment-list)" > > but couldn't get that to work properly. > > > > This is yet another approach, based on the observation that we do want > > to see a warning for conflicting 'choice' options, and that we can simply > > make them non-conflicting by listing all other options as disabled. > > This is a trivial patch that we can apply independent of plans for other > > changes. > > > > Signed-off-by: Arnd Bergmann > > Reviewed-by: Josh Triplett > > This does introduce additional warnings for changing those newly listed > options, but then we only have one type of warning, which will go away > with whatever fix you make to the underlying config merge machinery. I didn't actually consider them warnings but rather config output: They are written to stdout instead of stderr, and they don't have the word 'warning' in them: Value of CONFIG_CC_OPTIMIZE_FOR_SIZE is redefined by fragment /git/arm-soc/kernel/configs/tiny.config: Previous value: # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set New value: CONFIG_CC_OPTIMIZE_FOR_SIZE=y It's probably fine to leave this output present, just like 'make oldconfig' prints some informational messages about things that have been changed. In particular, none of the build bots I know will record that as warnings. On the other hand, I think it's a good idea to not print them when building with 'make -s', just like we hide all other informational output, maybe just by redirecting the output of merge_config.sh to /dev/null, or by adding a '-q' argument. > I'll send a follow-up patch doing the same for > arch/x86/configs/tiny.config, whose one config symbol (NOHIGHMEM) also > forms part of a choice and produces the same warning. > > I find it *mildly* annoying that this means the configs will need to > change whenever any new choices appear, but at least we'll have warnings > to tell us that. Agreed. It's also annoying for the cases of very long choice statements with dozens of options. Arnd