Hi. 2018-08-21 3:37 GMT+09:00 Takashi Iwai <tiwai@xxxxxxx>: > On Mon, 20 Aug 2018 20:15:12 +0200, > Masahiro Yamada wrote: >> >> 2018-08-07 3:07 GMT+09:00 Michal Suchánek <msuchanek@xxxxxxx>: >> > On Mon, 30 Jul 2018 17:02:42 +0900 >> > Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> wrote: >> > >> >> 2018-06-28 18:16 GMT+09:00 Michal Suchánek <msuchanek@xxxxxxx>: >> >> > On Wed, 27 Jun 2018 23:07:21 +0900 >> >> > Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> wrote: >> >> > >> >> >> Hi. >> >> >> >> >> >> >> >> >> 2018-06-27 21:37 GMT+09:00 Michal Suchánek <msuchanek@xxxxxxx>: >> >> >> > Hello, >> >> >> > >> >> >> > in the x86 Kconfig we have this: >> >> >> > >> >> >> > # Select 32 or 64 bit >> >> >> > config 64BIT >> >> >> > bool "64-bit kernel" if "$(ARCH)" = "x86" >> >> >> > default "$(ARCH)" != "i386" >> >> >> > ---help--- >> >> >> > Say yes to build a 64-bit kernel - formerly known as >> >> >> > x86_64 Say no to build a 32-bit kernel - formerly known as i386 >> >> >> > >> >> >> > Since commit 104daea149c4 ("kconfig: reference environment >> >> >> > variables directly and remove 'option env='") the value of ARCH >> >> >> > is not saved in the kernel config. >> >> >> >> >> >> I think this commit is unrelated. It was just a syntax change. >> >> > >> >> > This does not look like syntax only change to me: >> >> > >> >> > diff --git a/init/Kconfig b/init/Kconfig >> >> > index 15aae32e0719..1217fc62ca61 100644 >> >> > --- a/init/Kconfig >> >> > +++ b/init/Kconfig >> >> > @@ -1,20 +1,12 @@ >> >> > -config ARCH >> >> > - string >> >> > - option env="ARCH" >> >> > - >> >> > -config KERNELVERSION >> >> > - string >> >> > - option env="KERNELVERSION" >> >> > - >> >> >> >> This is just syntax change. >> >> >> >> 'option env=' was used to reference an environment variable. >> >> >> >> Now, $(ARCH), $(KERNELVERSION) are simpler forms. >> >> >> >> >> >> >> >> >> >> Unless I am missing something, >> >> >> we have never saved ARCH in the .config in the past. >> >> > >> >> > There was a config symbol defined for it before the commit removed >> >> > it. >> >> >> >> No. >> >> >> >> CONFIG symbols with'option env=' >> >> are not written out to the .config file. >> >> >> >> We have never had CONFIG_ARCH or CONFIG_KERNELVERSION. > > Maybe it sounds like a stupid question, but... > if passing ARCH= is almost mandatory for distinguishing the bi-arch or > cross-compile cases, why don't we save it in .config? The .config may not exist, may not be loaded. For "make help", "make headers_install" etc. ARCH needs be given from the command line anyway. I do not want to obscure "when to pass ARCH". > The whole "regression" we've seen can be worked around by passing > ARCH at each time. So, by having it in .config, everything would work > more easily, no? Recording ARCH in .config does not solve the problem because the .config contents depend on the compiler. > > > thanks, > > Takashi -- Best Regards Masahiro Yamada