[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20070516110001.786217db.akpm@linux-foundation.org>
Date: Wed, 16 May 2007 11:00:01 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: mel@...net.ie (Mel Gorman)
Cc: "H. Peter Anvin" <hpa@...or.com>,
Andy Whitcroft <apw@...dowen.org>,
linux-kernel@...r.kernel.org, Steve Fox <drfickle@...ibm.com>
Subject: Re: 2.6.22-rc1-mm1
On Wed, 16 May 2007 18:40:47 +0100
mel@...net.ie (Mel Gorman) wrote:
> On (16/05/07 08:16), H. Peter Anvin didst pronounce:
> > Andy Whitcroft wrote:
> > > Getting this on both x86 and x86_64 boxes, they are the older boxen so
> > > likely older compilers:
> >
> > Please give the gcc version number.
> >
> > > CC arch/x86_64/boot/memory.o
> > > arch/i386/boot/memory.c: In function `detect_memory':
> > > arch/i386/boot/memory.c:32: error: can't find a register in class `DREG'
> > > while reloading `asm'
> > >
> > > Seems to come from git-netsetup, but that tree isn't pulled into your
> > > git version of -mm so I can't be more specific.
> >
> > Does the following patch work for you?
> >
>
> With the patch, elm3b6 from test.kernel.org builds and boots. It's
> x86_64. elm3b132 which is x86 fails with
>
> CC arch/i386/boot/video-bios.o
> HOSTCC arch/i386/boot/tools/build
> AS arch/i386/boot/compressed/head.o
> CC arch/i386/boot/compressed/misc.o
> OBJCOPY arch/i386/boot/compressed/vmlinux.bin
> LD arch/i386/boot/setup.elf
> ld:arch/i386/boot/setup.ld:47: syntax error
ASSERT(_end <= 0x8000, "Setup too big!")
Which compiler/binutils are you running over there?
> make[1]: *** [arch/i386/boot/setup.elf] Error 1
> make[1]: *** Waiting for unfinished jobs....
> GZIP arch/i386/boot/compressed/vmlinux.bin.gz
> include/asm/processor.h: In function `native_get_debugreg':
> include/asm/processor.h:531: warning: asm operand 0 probably doesn't
> match constraints
> include/asm/processor.h: In function `native_set_debugreg':
> include/asm/processor.h:558: warning: asm operand 0 probably doesn't
> match constraints
static inline unsigned long native_get_debugreg(int regno)
{
unsigned long val = 0; /* Damn you, gcc! */
switch (regno) {
case 0:
asm("movl %%db0, %0" :"=r" (val)); break;
case 1:
asm("movl %%db1, %0" :"=r" (val)); break;
case 2:
asm("movl %%db2, %0" :"=r" (val)); break;
case 3:
asm("movl %%db3, %0" :"=r" (val)); break;
case 6:
asm("movl %%db6, %0" :"=r" (val)); break;
case 7:
asm("movl %%db7, %0" :"=r" (val)); break;
default:
--> BUG();
}
return val;
}
weird.
There are no significant changes in processor.h relative to 2.6.22-rc1.
If the file-n-line aren't screwed up, it's disliking
#define BUG() \
do { \
asm volatile("1:\tud2\n" \
".pushsection __bug_table,\"a\"\n" \
"2:\t.long 1b, %c0\n" \
"\t.word %c1, 0\n" \
"\t.org 2b+%c2\n" \
".popsection" \
: : "i" (__FILE__), "i" (__LINE__), \
"i" (sizeof(struct bug_entry))); \
for(;;) ; \
} while(0)
and we haven't changedanything in there recently either.
> LD arch/i386/boot/compressed/piggy.o
> LD arch/i386/boot/compressed/vmlinux
> make: *** [bzImage] Error 2
> 05/16/07-17:27:44 Build the kernel. Failed rc = 2
> 05/16/07-17:27:44 build: kernel build Failed rc = 1
> Failed and terminated the run
>
> I haven't checked yet if that has anything to do with git-newsetup or
> not.
It built and ran 2.6.22-rc1-git4 happily.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists