On Thu, Aug 20, 2020 at 02:29:40PM -0700, [email protected] wrote:
> Subject: x86/defconfigs: Explicitly unset CONFIG_64BIT in i386_defconfig
> 
> A recent refresh of the defconfigs got rid of the following (unset)
> config:
> 
>   # CONFIG_64BIT is not set
> 
> Innocuous as it seems, when the config file is saved again the
> behavior is changed so that CONFIG_64BIT=y.
> 
> Currently,
> 
>   $ make i386_defconfig
>   $ grep CONFIG_64BIT .config
>   CONFIG_64BIT=y
> 
> whereas previously (and with this patch):
> 
>   $ make i386_defconfig
>   $ grep CONFIG_64BIT .config
>   # CONFIG_64BIT is not set

It is highly, highly, highly advisable to always pass ARCH when dealing
with 32/64-bit archs:

        +---------------------------------------+
        |       make ARCH=x86_64 defconfig      |
        |       make ARCH=i386 defconfig        |
        +---------------------------------------+

The reason is that long ago ARCH was deduced from bitness of the system
make was run on, so that

        make allnoconfig

gave 32-bit config on 32-but system and 64-bit on 64-bit system which is
natural thing to do.

During i386/x86_64 merge CONFIG_64BIT became user visible option!
" make allnoconfig" started giving 32-bit config even on x86_64 and 64-bit
defconfig and allmodconfig which it does to this day.

Always passing ARCH is the only way to maintain sanity. I have shell
alias to always pass ARCH=x86_64 so that bitness is both deterministic
and can be overridden.

Reply via email to