mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: David Woodhouse <dwmw2@infradead.org>
To: Michal Marek <mmarek@suse.cz>
Cc: Arnaud Lacombe <lacombar@gmail.com>, "Ted Ts'o" <tytso@mit.edu>,
	Ingo Molnar <mingo@elte.hu>,
	x86@kernel.org, linux-kernel@vger.kernel.org,
	linux-kbuild@vger.kernel.org, hpa@zytor.com
Subject: [PATCH v3] x86, kconfig: Default to ARCH=x86 to avoid overriding CONFIG_64BIT
Date: Sat, 30 Jul 2011 01:49:27 +0100	[thread overview]
Message-ID: <1311986969.20983.52.camel@i7.infradead.org> (raw)
In-Reply-To: <4E0495F4.7080300@suse.cz>

I *frequently* waste a bunch of time when I take a 32-bit .config from a
test machine and try to build it on a faster 64-bit system, and its
existing setting of CONFIG_64BIT=n gets *changed* to match the build host.

This is because the default setting for $ARCH when discovered from
'uname' is one of the legacy pre-x86-merge values (i386 or x86_64),
which effectively force the setting of CONFIG_64BIT to match. We should
default to ARCH=x86 instead, finally completing the merge that we
started so long ago.

This patch preserves the behaviour of the legacy ARCH settings for commands
such as:

   make ARCH=x86_64 randconfig
   make ARCH=i386 randconfig

... although since my commit "Enable 'make CONFIG_FOO=y oldconfig'" those
would be better expressed as:

   make CONFIG_64BIT=y randconfig
   make CONFIG_64BIT=n randconfig

... since that is a more generic way to set *any* config option, and
there's no other technical reason to keep the legacy ARCH values around
any more just to achieve that purpose; they could be removed at any
time.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Link: http://lkml.kernel.org/r/1306707270.2029.377.camel@i7.infradead.org
---
v2: Explicitly turn off CONFIG_64BIT in i386_defconfig. The default for
    CONFIG_64BIT has *changed* (from n to y) for ARCH=x86, so it needs to
    be explicitly turned off or 'make i386_defconfig' will give you 64-bit.
v3: Same patch as before; just updated changelog.

 Makefile                        |    3 ++-
 arch/x86/Kconfig                |    2 +-
 arch/x86/Makefile               |    4 ++++
 arch/x86/configs/i386_defconfig |    1 +
 4 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index d018956..303df9b 100644
--- a/Makefile
+++ b/Makefile
@@ -165,7 +165,8 @@ 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/i386/ -e s/sun4u/sparc64/ \
+SUBARCH := $(shell uname -m | sed -e s/i.86/x86/ -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/ \
 				  -e s/ppc.*/powerpc/ -e s/mips.*/mips/ \
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 153aa6f..9467fdd 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1,7 +1,7 @@
 # Select 32 or 64 bit
 config 64BIT
 	bool "64-bit kernel" if ARCH = "x86"
-	default ARCH = "x86_64"
+	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
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index b02e509..94c2d8c 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -2,7 +2,11 @@
 
 # select defconfig based on actual architecture
 ifeq ($(ARCH),x86)
+  ifeq ($(shell uname -m),x86_64)
+        KBUILD_DEFCONFIG := x86_64_defconfig
+  else
         KBUILD_DEFCONFIG := i386_defconfig
+  endif
 else
         KBUILD_DEFCONFIG := $(ARCH)_defconfig
 endif
diff --git a/arch/x86/configs/i386_defconfig b/arch/x86/configs/i386_defconfig
index 2bf18059f..5f96c1c 100644
--- a/arch/x86/configs/i386_defconfig
+++ b/arch/x86/configs/i386_defconfig
@@ -1,3 +1,4 @@
+# CONFIG_64BIT is not set
 CONFIG_EXPERIMENTAL=y
 # CONFIG_LOCALVERSION_AUTO is not set
 CONFIG_SYSVIPC=y
-- 
1.7.6



-- 
dwmw2


  parent reply	other threads:[~2011-07-30  0:49 UTC|newest]

Thread overview: 88+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-29 22:14 [PATCH] Fix corruption of CONFIG_X86_32 in 'make oldconfig' David Woodhouse
2011-05-30  7:23 ` Ingo Molnar
2011-05-30  8:57   ` David Woodhouse
2011-05-30  9:15     ` Ingo Molnar
2011-05-30  9:27       ` David Woodhouse
2011-05-30  9:53         ` Ingo Molnar
2011-05-30 10:06           ` David Woodhouse
2011-05-30 10:25             ` Ingo Molnar
2011-05-30 11:01               ` David Woodhouse
2011-05-30 11:04                 ` Ingo Molnar
2011-05-30 11:12                   ` David Woodhouse
2011-05-30 11:42                     ` Ingo Molnar
2011-05-30 11:55                       ` David Woodhouse
2011-05-30 12:11                         ` Ingo Molnar
2011-05-31  8:53               ` Geert Uytterhoeven
2011-05-31 10:48                 ` Ingo Molnar
2011-05-30 10:40         ` Alexey Dobriyan
2011-05-30 10:09       ` [PATCH v2] x86, kconfig: Pick up the .config arch version " David Woodhouse
2011-06-24 13:37         ` Michal Marek
2011-06-24 14:45           ` David Woodhouse
2011-05-30 10:42     ` [PATCH] Fix corruption of CONFIG_X86_32 " Ingo Molnar
2011-05-30 10:46       ` Ingo Molnar
2011-05-30 10:53         ` Theodore Tso
2011-05-30 10:58           ` Ingo Molnar
2011-05-30 11:04             ` Theodore Tso
2011-05-30 11:30               ` Ingo Molnar
2011-05-30 17:29                 ` Randy Dunlap
2011-05-30 11:57               ` David Woodhouse
2011-05-30 12:14                 ` Ingo Molnar
2011-05-30 19:03               ` David Woodhouse
2011-05-30 19:55                 ` Ted Ts'o
2011-05-30 20:12                   ` David Woodhouse
2011-05-30 22:39                     ` [PATCH] Enable 'make CONFIG_FOO=y oldconfig' David Woodhouse
2011-05-31  0:24                       ` Arnaud Lacombe
2011-05-31 15:48                         ` David Woodhouse
2011-05-31 16:12                           ` Arnaud Lacombe
2011-06-24 13:49                             ` Michal Marek
2011-07-29 23:32                               ` [PATCH v2] " David Woodhouse
2011-07-30  1:15                                 ` Arnaud Lacombe
2011-07-30  9:04                                   ` David Woodhouse
2011-07-30  0:49                               ` David Woodhouse [this message]
2011-07-30  1:26                                 ` [PATCH v3] x86, kconfig: Default to ARCH=x86 to avoid overriding CONFIG_64BIT Arnaud Lacombe
2011-07-30  8:37                                   ` David Woodhouse
2011-07-30 15:21                                     ` Arnaud Lacombe
2011-07-30 15:52                                 ` Arnaud Lacombe
2011-07-30 16:19                                   ` David Woodhouse
2011-07-30 16:33                                     ` Arnaud Lacombe
2011-07-30 18:59                                       ` H. Peter Anvin
2011-07-30 20:58                                         ` David Woodhouse
2011-07-30 22:03                                           ` H. Peter Anvin
2011-07-30 22:17                                             ` David Woodhouse
2011-07-30 22:21                                               ` H. Peter Anvin
2011-07-30 22:24                                               ` Arnaud Lacombe
2011-07-30 22:34                                                 ` David Woodhouse
2011-07-30 22:39                                                   ` H. Peter Anvin
2011-07-30 22:21                                           ` Arnaud Lacombe
2011-07-30 22:57                                             ` David Woodhouse
2011-07-31 19:40                                   ` Arnaud Lacombe
2011-07-31 20:00                                     ` David Woodhouse
2011-07-31 20:24                                       ` Arnaud Lacombe
2011-07-31 20:51                                         ` David Woodhouse
2011-07-31  5:18                                 ` Arnaud Lacombe
2011-07-31  8:13                                   ` David Woodhouse
2011-07-31 21:47                                 ` Arnaud Lacombe
2011-07-31 21:51                                   ` Arnaud Lacombe
2011-05-31  1:44                     ` [PATCH] Fix corruption of CONFIG_X86_32 in 'make oldconfig' Ted Ts'o
2011-05-31  8:37                       ` David Woodhouse
2011-05-31  7:53                     ` Ingo Molnar
2011-05-31  8:55                       ` David Woodhouse
2011-05-31 10:41                         ` Ingo Molnar
2011-05-31 11:43                           ` David Woodhouse
2011-05-31 12:45                             ` Ingo Molnar
2011-05-31 13:44                               ` David Woodhouse
2011-05-31 13:56                                 ` Ingo Molnar
2011-05-31 14:31                                   ` David Woodhouse
2011-05-31 14:14                             ` Geert Uytterhoeven
2011-05-31 12:12                         ` Ted Ts'o
2011-05-31 12:32                           ` David Woodhouse
2011-05-31 12:50                           ` Ingo Molnar
2011-05-30 11:06             ` David Woodhouse
2011-05-30 11:34               ` Ingo Molnar
2011-05-30 11:05     ` Arnd Bergmann
2011-05-30 17:27       ` Randy Dunlap
2011-05-30 18:40         ` Arnd Bergmann
2011-05-30 20:01           ` Randy Dunlap
2011-05-30 20:30           ` Arnaud Lacombe
2011-05-30 21:04             ` Arnd Bergmann
2011-05-30 21:16             ` Randy Dunlap

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1311986969.20983.52.camel@i7.infradead.org \
    --to=dwmw2@infradead.org \
    --cc=hpa@zytor.com \
    --cc=lacombar@gmail.com \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=mmarek@suse.cz \
    --cc=tytso@mit.edu \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®