Re: [PATCH] x86/defconfigs/32: Unset 64BIT

From: Sedat Dilek
Date: Mon Aug 10 2020 - 12:15:11 EST


On Mon, Aug 10, 2020 at 5:59 PM Daniel Díaz <daniel.diaz@xxxxxxxxxx> wrote:
>
> 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 now):
>
> $ make i386_defconfig
> $ grep CONFIG_64BIT .config
> # CONFIG_64BIT is not set
>
> This was found with weird compiler errors on OpenEmbedded
> builds, as the compiler was unable to cope with 64-bits data
> types:
>
> NOTE: make -j1 bzImage CC=i686-linaro-linux-gcc -fuse-ld=bfd -fdebug-prefix-map=/oe/build/tmp/work/intel_core2_32-linaro-linux/linux-generic-mainline/5.8+gitAUTOINC+1d0e12fd3a-r0=/usr/src/debug/linux-generic-mainline/5.8+gitAUTOINC+1d0e12fd3a-r0 -fdebug-prefix-map=/oe/build/tmp/work/intel_core2_32-linaro-linux/linux-generic-mainline/5.8+gitAUTOINC+1d0e12fd3a-r0/recipe-sysroot= -fdebug-prefix-map=/oe/build/tmp/work/intel_core2_32-linaro-linux/linux-generic-mainline/5.8+gitAUTOINC+1d0e12fd3a-r0/recipe-sysroot-native= -fdebug-prefix-map=/oe/build/tmp/work-shared/intel-core2-32/kernel-source=/usr/src/kernel -ffile-prefix-map=/oe/build/tmp/work/intel_core2_32-linaro-linux/linux-generic-mainline/5.8+gitAUTOINC+1d0e12fd3a-r0/git=/kernel-source/ LD=i686-linaro-linux-ld.bfd
> GEN Makefile
> CC scripts/mod/empty.o
> cc1: error: code model 'kernel' not supported in the 32 bit mode
> cc1: sorry, unimplemented: 64-bit mode not compiled in
> /oe/build/tmp/work-shared/intel-core2-32/kernel-source/scripts/Makefile.build:280: recipe for target 'scripts/mod/empty.o' failed
> make[2]: *** [scripts/mod/empty.o] Error 1
> /oe/build/tmp/work-shared/intel-core2-32/kernel-source/Makefile:1174: recipe for target 'prepare0' failed
> make[1]: *** [prepare0] Error 2
> /oe/build/tmp/work-shared/intel-core2-32/kernel-source/Makefile:185: recipe for target '__sub-make' failed
> make: *** [__sub-make] Error 2
>
> Fixes: 1d0e12fd3a84 ("x86/defconfigs: Refresh defconfig files")
>

Hey cool and Thanks Daniel.

I feel over this "CONFIG_64BIT not set" when I wanted to test the
patchset [0] in ClangBuiltLinux issue #194 ... but never did :-(.

I never reported upstream - it is good you sent out a patch with
explicitly setting CONFIG_64BIT=n when using i386_defconfig.

At least I send a patch to remove a leftover [4].

- Sedat -

[0] https://lore.kernel.org/lkml/20200504230309.237398-1-ndesaulniers@xxxxxxxxxx/T/#u
[1] https://git.kernel.org/linus/ba77c568f3160657a5f7905289c07d18c2dfde78
[2] https://github.com/ClangBuiltLinux/linux/issues/194#issuecomment-662620461
[3] https://git.kernel.org/linus/6526b12de07588253a52577f42ec99fc7ca26a1f

> Signed-off-by: Daniel Díaz <daniel.diaz@xxxxxxxxxx>
> ---
> arch/x86/configs/i386_defconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/x86/configs/i386_defconfig b/arch/x86/configs/i386_defconfig
> index d7577fece9eb..4cfdf5755ab5 100644
> --- a/arch/x86/configs/i386_defconfig
> +++ b/arch/x86/configs/i386_defconfig
> @@ -19,6 +19,7 @@ CONFIG_CGROUP_CPUACCT=y
> CONFIG_BLK_DEV_INITRD=y
> # CONFIG_COMPAT_BRK is not set
> CONFIG_PROFILING=y
> +# CONFIG_64BIT is not set
> CONFIG_SMP=y
> CONFIG_X86_GENERIC=y
> CONFIG_HPET_TIMER=y
> --
> 2.25.1
>