Borislav Petkov schreef op vr 03-04-2015 om 13:00 [+0200]:
> From: Borislav Petkov <b...@suse.de>
> 
> Doing
> 
>   $ make allnoconfig
> 
> I get a 32-bit allnoconfig:
> 
>   $ grep -i x86 .config
>   # Linux/x86 4.0.0-rc6 Kernel Configuration
>   CONFIG_X86_32=y
>   CONFIG_X86=y
>   CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
> 
> The same if I do:
> 
>   $ make ARCH=i386 allnoconfig
>   $ grep -i x86 .config | head -20
>   CONFIG_X86_32=y
>   CONFIG_X86=y
>   CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
> 
> Make allnoconfig without ARCH specified on the command line default to
> 64-bit.
> 
> Signed-off-by: Borislav Petkov <b...@suse.de>
> ---
>  arch/x86/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index 0a37094e458e..04dfb4e7aeff 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -2,6 +2,7 @@
>  config 64BIT
>       bool "64-bit kernel" if ARCH = "x86"
>       default ARCH != "i386"
> +     option allnoconfig_y
>       ---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

A side effect of this patch is that allnoconfig when building on 32 bits
now also requires to set ARCH=i386, which is surprising. This seems to
help with that:

--- a/Makefile
+++ b/Makefile
@@ -221,7 +221,7 @@ export srctree objtree VPATH
 # then ARCH is assigned, getting whatever value it gets normally, and
 # SUBARCH is subsequently ignored.
 
-SUBARCH := $(shell uname -m | sed -e s/i.86/x86/ -e s/x86_64/x86/ \
+SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/x86_64/x86/ \
                                  -e s/sun4u/sparc64/ \
                                  -e s/arm.*/arm/ -e s/sa110/arm/ \
                                  -e s/s390x/s390/ -e s/parisc64/parisc/ \

And that will also set 64BIT to 'n' when doing an allyesconfig on 32
bits. So it removes another surprising configuration one can currently
generate.

(I think that has no further side effects. But I need to double check.)

Would some solution that pins 64BIT to 'y' for x86_64 and to 'n' for
i386 - even for allnoconfig and allyesconfig - do what you want?


Paul Bolle

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to