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
next prev 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®