public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "H. Peter Anvin" <hpa@zytor.com>
To: Ingo Molnar <mingo@elte.hu>, Jeff Dike <jdike@addtoit.com>,
	Sam Ravnborg <sam@ravnborg.org>
Cc: David Woodhouse <dwmw2@infradead.org>,
	linux-kernel@vger.kernel.org, mingo@redhat.com, sam@ravnborg.org,
	tglx@linutronix.de, David.Woodhouse@intel.com,
	linux-tip-commits@vger.kernel.org
Subject: Re: [tip:x86/kbuild] x86: Don't silently override CONFIG_64BIT in 'make oldconfig'
Date: Fri, 04 Sep 2009 11:57:58 -0700	[thread overview]
Message-ID: <4AA16336.3050606@zytor.com> (raw)
In-Reply-To: <20090904183103.GA1873@elte.hu>

On 09/04/2009 11:31 AM, Ingo Molnar wrote:
> 
> * H. Peter Anvin <hpa@zytor.com> wrote:
> 
>> On 09/04/2009 08:33 AM, David Woodhouse wrote:
>>> On Fri, 4 Sep 2009, Ingo Molnar wrote:
>>>
>>>
>>>>> x86: Don't silently override CONFIG_64BIT in 'make oldconfig'
>>>>
>>>> -tip testing found that this commit broke the UML build:
>>>>
>>>> /home/mingo/tip/arch/um/Makefile:52:
>>>> /home/mingo/tip/arch/um/Makefile-x86: No such file or directory
>>>> make[1]: *** No rule to make target
>>>> `/home/mingo/tip/arch/um/Makefile-x86'.  Stop.
>>>> make: *** [sub-make] Error 2
>>>
>>> Hm, doesn't that mean that UML has always been broken for ARCH=x86?
>>
>> Quite possible.  ARCH=x86 hasn't exactly been widely used.
> 
> Note, i used 'make ARCH=um' so this commit cannot be pushed upwards 
> until this problem is fixed. It could very well be some missing 
> changes on the UML side.
> 

Okay, the problem is the following: UM treats i386 and x86-64 as
separate architectures, and it gets very unhappy with SUBARCH=x86.  A
trivial attempt to fix it:

diff --git a/arch/um/Makefile b/arch/um/Makefile
index 0728def..b1cc9cf 100644
--- a/arch/um/Makefile
+++ b/arch/um/Makefile
@@ -12,6 +12,17 @@ OS := $(shell uname -s)
 # features.
 SHELL := /bin/bash

+#
+# i386 and x86_64 are separate architectures to the UM build.
+#
+ifeq ($(SUBARCH),x86)
+ifeq ($(CONFIG_64BIT),y)
+SUBARCH := x86_64
+else
+SUBARCH := i386
+endif
+endif
+
 filechk_gen_header = $<

 core-y                 += $(ARCH_DIR)/kernel/          \

... didn't fix it, as "make defconfig" promptly made a 32-bit
configuration on my 64-bit system, and the build failed.

The "obvious" change of allowing SUBARCH to take values like i386 and
x86_64 is also wrong (and possibly have a DEFAULT_ARCH which can be
different than SUBARCH), because we have several instances of:

ifneq ($(SUBARCH),$(ARCH))

... in the build tree, and even have ugliness like:

[scripts/tags.h]
# Support um (which uses SUBARCH)
if [ "${ARCH}" = "um" ]; then
        if [ "$SUBARCH" = "i386" ]; then
                archinclude=x86
        elif [ "$SUBARCH" = "x86_64" ]; then
                archinclude=x86
        else
                archinclude=${SUBARCH}
        fi
fi

Anyway... it sounds like we need to drop this commit for now and
re-merge it when there is a fix for UM.

Jeff, Sam, I would appreciate your suggestions as how best to fix this
kind of stuff...

	-hpa

  reply	other threads:[~2009-09-04 19:02 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <tip-5a8a2d13b1526e306ff2a9fe12dc9d5878d355f9@git.kernel.org>
2009-09-04 14:48 ` [tip:x86/kbuild] x86: Don't silently override CONFIG_64BIT in 'make oldconfig' Ingo Molnar
2009-09-04 15:33   ` David Woodhouse
2009-09-04 16:27     ` H. Peter Anvin
2009-09-04 16:38       ` Randy Dunlap
2009-09-04 16:53         ` H. Peter Anvin
2009-09-04 21:40         ` David Woodhouse
2009-09-04 22:54           ` H. Peter Anvin
2009-09-04 18:31       ` Ingo Molnar
2009-09-04 18:57         ` H. Peter Anvin [this message]
2009-09-04 19:04           ` H. Peter Anvin
2009-09-11 21:16           ` Jeff Dike
2009-09-14 23:29             ` H. Peter Anvin
2009-09-15  3:33               ` Jeff Dike
2009-09-25  9:03                 ` H. Peter Anvin
2009-09-28  4:31                   ` Sam Ravnborg

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=4AA16336.3050606@zytor.com \
    --to=hpa@zytor.com \
    --cc=David.Woodhouse@intel.com \
    --cc=dwmw2@infradead.org \
    --cc=jdike@addtoit.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=mingo@redhat.com \
    --cc=sam@ravnborg.org \
    --cc=tglx@linutronix.de \
    /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