Messages in this thread | | | Date | Fri, 21 Aug 2020 20:22:31 +0300 | From | Alexey Dobriyan <> | Subject | make defconfig (Re: + x86-defconfigs-explicitly-unset-config_64bit-in-i386_defconfig.patch added to -mm tree) |
| |
On Thu, Aug 20, 2020 at 02:29:40PM -0700, akpm@linux-foundation.org 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.
| |