Re: 2.6.24-rc3-mm1

Andreas Herrmann
2007-11-23T08:59:56Z

On Fri, Nov 23, 2007 at 08:05:44AM +0200, Kirill A. Shutemov wrote:
> On [Fri, 23.11.2007 01:48], Thomas Gleixner wrote:
> > On Thu, 22 Nov 2007, Andrew Morton wrote:
> >
> > > On Thu, 22 Nov 2007 12:22:05 +0200 "Kirill A. Shutemov" <k.shutemov@velesys.com> wrote:
> > >
> > > > On x86_64 'uname -m' return 'x86'. It break many userspace programs. apt
> > > > and rpm for example.
> > > >
> > >
> > > Yes, there have been various discussions about this. I think Sam is cooking up
> > > a fix?
> >
> > http://lkml.org/lkml/2007/11/19/323
> >
> > I push it Linus wards ASAP.
> diff --git a/arch/x86/Makefile b/arch/x86/Makefile
> index 116b03a..7aa1dc6 100644
> --- a/arch/x86/Makefile
> +++ b/arch/x86/Makefile
> @@ -11,10 +11,9 @@ endif
> $(srctree)/arch/x86/Makefile%: ;
>
> ifeq ($(CONFIG_X86_32),y)
> + UTS_MACHINE := i386
> include $(srctree)/arch/x86/Makefile_32
> else
> + UTS_MACHINE := x86_64
> include $(srctree)/arch/x86/Makefile_64
> endif
>
> Many programs expect i686 on Pentium II.

Yes, but this is done during boot.
Then the kernel overwrites "i386" to become "i686" for such CPUs.
That is why I've seen "x66" after boot when UTS_MACHINE at build-time
was "x86" with 'make ARCH=x86'.
For more details see:

http://marc.info/?l=linux-kernel&m=119521309415545&w=2

Regards,

Andreas