Re: 2.6.25-rc8-mm1 (mips build failure)

From: Ralf Baechle
Date: Thu Apr 03 2008 - 13:00:01 EST


On Wed, Apr 02, 2008 at 09:06:23PM +0200, Sam Ravnborg wrote:

> > > i386 generates
> > >
> > > ->NR_PAGEFLAGS $18 __NR_PAGEFLAGS #
> >
> > > mips generates
> > >
> > > ->NR_PAGEFLAGS 18 __NR_PAGEFLAGS #
> >
> > For some reason the asm-offset.c for mips generates it differently and the
> > sed expression in kbuild is different. So it does not match.
>
> When the asm-offset stuff were consolidated the mips variant
> did not match the others.
> I do not recall if I ever tried this on a mips tool-chain and as
> my dev box is busted atm I cannot even test it out now.
>
> I would be happy if we could kill the MIPS specific sed expression
> in the top-level Kbuild file.
>
> Ralf - can you take a look at this and see if mips really generates
> different assembler syntax which warrants the different sed expression.
>
> If mips really needs a different sed expression then we should adjust
> it so the output is similar to the other archs.

The reason for MIPS doing things a little different is that the resulting
<asm/asm-offsets.h> doesn't look like machine generated jibberish. So
how about below patch which combines the two sed expressions.

Ralf

Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>

diff --git a/Kbuild b/Kbuild
index 7136de7..2bd4a3c 100644
--- a/Kbuild
+++ b/Kbuild
@@ -52,10 +52,8 @@ targets += arch/$(SRCARCH)/kernel/asm-offsets.s

# Default sed regexp - multiline due to syntax constraints
define sed-y
- "/^->/{s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}"
+ "/^->/{s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}; /^@@@/{s/^@@@//; s/ \#.*\$$//; p;};"
endef
-# Override default regexp for specific architectures
-sed-$(CONFIG_MIPS) := "/^@@@/{s/^@@@//; s/ \#.*\$$//; p;}"

quiet_cmd_offsets = GEN $@
define cmd_offsets
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/