mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: David Woodhouse <dwmw2@infradead.org>
To: Arnaud Lacombe <lacombar@gmail.com>
Cc: Michal Marek <mmarek@suse.cz>, "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: Re: [PATCH v3] x86, kconfig: Default to ARCH=x86 to avoid overriding CONFIG_64BIT
Date: Sun, 31 Jul 2011 21:51:34 +0100	[thread overview]
Message-ID: <1312145496.18010.13.camel@i7.infradead.org> (raw)
In-Reply-To: <CACqU3MVTF6HWk=xw4V6Zu_4wrEJnLJs9bd1NJK675Ly=6w4ibg@mail.gmail.com>

On Sun, 2011-07-31 at 16:24 -0400, Arnaud Lacombe wrote:
> Hi,
> 
> On Sun, Jul 31, 2011 at 4:00 PM, David Woodhouse <dwmw2@infradead.org> wrote:
> > On Sun, 2011-07-31 at 15:40 -0400, Arnaud Lacombe wrote:
> >> FWIW, you are still breaking `scripts/checkstack.pl',
> >> `scripts/tags.sh' (all UML related)
> >
> > Can you explain the nature of the breakage? It's probably also easy to
> > fix (or was already arguably broken), but it would be helpful if you'd
> > point at what you think is wrong rather than making me guess.
> >
> scripts/tags.sh:
> [...]
> # 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
> 
> So this one is not broken, but the conditionals are deadcode. I wonder
> if it should not just use ${SRCARCH}.

Ah yes, I'd actually looked at that one yesterday since I saw it
referenced from somewhere in the um code that I was looking at. It's not
*quite* deadcode yet — remember, we're not talking about *removing* the
legacy ARCH=i386 and ARCH=x86_64 yet; just making them no longer the
*default*, and making ARCH=x86 the default instead (when on an x86 box).

There are three phases, which we've been through for the various other
architectures that merged 32 and 64 bit code already:

 1. Make ARCH=x86 work.
 2. Make ARCH=x86 the default.
 3. Remove the legacy ARCH= values.

We *thought* we'd fairly much finished #1 in 2007, with commit
208652d6... but evidently there are a couple of things we still need to
fix. As I said, thanks for helping to find those.

My patch is doing #2, since it seems the best and cleanest way to fix
the bug that keeps biting. It's not only "a" fix; it's the *right* thing
to do.

I'm not touching #3 yet; people are still clinging to the old crap as if
the world will end if they have to type 'make CONFIG_64BIT=n oldconfig'
instead of 'make ARCH=i386 oldconfig', because the extra few characters
will give them RSI and then they'll have to quit their nice computer job
and then they'll have to sell their body to make ends meet. Or something
like that. But I'm making the CONFIG_64BIT=n thing work anyway :)



> Makefile:
> ifeq ($(ARCH), um)
> CHECKSTACK_ARCH := $(SUBARCH)
> else
> CHECKSTACK_ARCH := $(ARCH)
> endif
> checkstack:
>         $(OBJDUMP) -d vmlinux $$(find . -name '*.ko') | \
>         $(PERL) $(src)/scripts/checkstack.pl $(CHECKSTACK_ARCH)
> 
> scripts/checkstack.pl:
> my (@stack, $re, $dre, $x, $xs);
> {
>         my $arch = shift;
>         if ($arch eq "") {
>                 $arch = `uname -m`;
>                 chomp($arch);
>         }
> [...]
>         } elsif ($arch eq 'x86_64') {
>                 #    2f60:      48 81 ec e8 05 00 00    sub    $0x5e8,%rsp
>                 $re = qr/^.*[as][du][db]    \$(0x$x{1,8}),\%rsp$/o;
>                 $dre = qr/^.*[as][du][db]    (\%.*),\%rsp$/o;
> 
> this one actually is broken:
> 
> % perl scripts/checkstack.pl x86
> wrong or unknown architecture "x86"

OK, I'll go poke at that; it definitely *should* have been working and
could be considered 'broken' since 2007. It's part of phase 1.

This should probably fix it.... I'll test a bit more and send a real
patch. Thanks for pointing it out.

diff --git a/scripts/checkstack.pl b/scripts/checkstack.pl
index 17e3843..2c5c869 100755
--- a/scripts/checkstack.pl
+++ b/scripts/checkstack.pl
@@ -59,6 +59,10 @@ my (@stack, $re, $dre, $x, $xs);
 		#    2f60:	48 81 ec e8 05 00 00 	sub    $0x5e8,%rsp
 		$re = qr/^.*[as][du][db]    \$(0x$x{1,8}),\%rsp$/o;
 		$dre = qr/^.*[as][du][db]    (\%.*),\%rsp$/o;
+	} elsif ($arch eq 'x86') {
+		#    2f60:	48 81 ec e8 05 00 00 	sub    $0x5e8,%rsp
+		$re = qr/^.*[as][du][db]    \$(0x$x{1,8}),\%[er]sp$/o;
+		$dre = qr/^.*[as][du][db]    (\%.*),\%[er]sp$/o;
 	} elsif ($arch eq 'ia64') {
 		#e0000000044011fc:       01 0f fc 8c     adds r12=-384,r12
 		$re = qr/.*adds.*r12=-(([0-9]{2}|[3-9])[0-9]{2}),r12/o;


-- 
dwmw2


  reply	other threads:[~2011-07-31 20:52 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                               ` [PATCH v3] x86, kconfig: Default to ARCH=x86 to avoid overriding CONFIG_64BIT David Woodhouse
2011-07-30  1:26                                 ` 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 [this message]
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=1312145496.18010.13.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®