lkml.org 
[lkml]   [2008]   [Apr]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: 2.6.25-rc8-mm1 (mips build failure)
    On Tue, 1 Apr 2008, Andrew Morton wrote:

    > On Wed, 02 Apr 2008 09:40:22 +0400 Dmitri Vorobiev <dmitri.vorobiev@gmail.com> wrote:
    >
    > > Hi Andrew,
    > >
    > > MIPS build fails with the following:
    > >
    > > $ make ARCH=mips CROSS_COMPILE=mips-unknown-linux-gnu-
    > > ...
    > > [skipped]
    > > ...
    > > CC arch/mips/mips-boards/generic/init.o
    > > In file included from include/asm/cacheflush.h:13,
    > > from arch/mips/mips-boards/generic/init.c:30:
    > > include/linux/mm.h:411:63: "NR_PAGEFLAGS" is not defined
    > > include/linux/mm.h:459:62: "NR_PAGEFLAGS" is not defined
    > > make[1]: *** [arch/mips/mips-boards/generic/init.o] Error 1
    > > make: *** [arch/mips/mips-boards/generic] Error 2
    >
    > ahh, yup, known problem, sorry. We are slowly working on a fix.

    This the fix that I posted a couple of days ago after Andrew noted the
    problem:




    From: Christoph Lameter <clameter@sgi.com>
    Subject: Allow override of definition for asm constant

    MIPS has a different way of defining asm constants which causes troubles
    for bounds.h generation (see also the Kbuild script).

    Add a new per arch CONFIG variable

    CONFIG_ASM_SYMBOL_PREFIX

    which can be set to define an alternate header for asm constant definitions.
    Use this for MIPS to make bounds determination work right.

    Signed-off-by: Christoph Lameter <clameter@sgi.com>

    ---
    arch/mips/Kconfig | 7 +++++++
    kernel/bounds.c | 11 ++++++++++-
    2 files changed, 17 insertions(+), 1 deletion(-)

    Index: linux-2.6.25-rc5-mm1/arch/mips/Kconfig
    ===================================================================
    --- linux-2.6.25-rc5-mm1.orig/arch/mips/Kconfig 2008-03-31 13:14:26.888383587 -0700
    +++ linux-2.6.25-rc5-mm1/arch/mips/Kconfig 2008-03-31 13:14:28.028403612 -0700
    @@ -2019,6 +2019,13 @@ config I8253
    config ZONE_DMA32
    bool

    +#
    +# Used to override gas symbol setup in kernel/bounds.c.
    +#
    +config ASM_SYMBOL_PREFIX
    + string
    + default "@@@#define "
    +
    source "drivers/pcmcia/Kconfig"

    source "drivers/pci/hotplug/Kconfig"
    Index: linux-2.6.25-rc5-mm1/kernel/bounds.c
    ===================================================================
    --- linux-2.6.25-rc5-mm1.orig/kernel/bounds.c 2008-03-31 13:14:26.904383870 -0700
    +++ linux-2.6.25-rc5-mm1/kernel/bounds.c 2008-03-31 13:14:28.028403612 -0700
    @@ -9,8 +9,17 @@
    #include <linux/page-flags.h>
    #include <linux/mmzone.h>

    +#ifdef CONFIG_ASM_SYMBOL_PREFIX
    +#define PREFIX CONFIG_ASM_SYMBOL_PREFIX
    +#else
    +/*
    + * Standard gas way of defining an asm symbol
    + */
    +#define PREFIX "->"
    +#endif
    +
    #define DEFINE(sym, val) \
    - asm volatile("\n->" #sym " %0 " #val : : "i" (val))
    + asm volatile("\n" PREFIX #sym " %0 " : : "i" (val))

    #define BLANK() asm volatile("\n->" : :)


    \
     
     \ /
      Last update: 2008-04-02 19:39    [W:4.780 / U:0.904 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site