2012-02-03 07:52:06

by Cong Wang

[permalink] [raw]
Subject: [Patch] mips: do not redefine BUILD_BUG()

On mips, we got

include/linux/kernel.h:717:1: error: "BUILD_BUG" redefined
arch/mips/include/asm/page.h:43:1: error: this is the location of the previous definition
make[3]: *** [arch/mips/sgi-ip27/ip27-console.o] Error 1
make[2]: *** [arch/mips/sgi-ip27] Error 2
make[1]: *** [arch/mips] Error 2
make: *** [sub-make] Error 2

use generic BUILD_BUG() instead of re-defining one.

Signed-off-by: WANG Cong <[email protected]>

---
diff --git a/arch/mips/include/asm/page.h b/arch/mips/include/asm/page.h
index d417909..e14121a 100644
--- a/arch/mips/include/asm/page.h
+++ b/arch/mips/include/asm/page.h
@@ -39,9 +39,7 @@
#define HPAGE_MASK (~(HPAGE_SIZE - 1))
#define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT)
#else /* !CONFIG_HUGETLB_PAGE */
-# ifndef BUILD_BUG
-# define BUILD_BUG() do { extern void __build_bug(void); __build_bug(); } while (0)
-# endif
+#include <linux/kernel.h>
#define HPAGE_SHIFT ({BUILD_BUG(); 0; })
#define HPAGE_SIZE ({BUILD_BUG(); 0; })
#define HPAGE_MASK ({BUILD_BUG(); 0; })


2012-02-03 10:30:55

by Sergei Shtylyov

[permalink] [raw]
Subject: Re: [Patch] mips: do not redefine BUILD_BUG()

Hello.

On 03-02-2012 11:51, Cong Wang wrote:

> On mips, we got

> include/linux/kernel.h:717:1: error: "BUILD_BUG" redefined
> arch/mips/include/asm/page.h:43:1: error: this is the location of the previous definition
> make[3]: *** [arch/mips/sgi-ip27/ip27-console.o] Error 1
> make[2]: *** [arch/mips/sgi-ip27] Error 2
> make[1]: *** [arch/mips] Error 2
> make: *** [sub-make] Error 2

> use generic BUILD_BUG() instead of re-defining one.

> Signed-off-by: WANG Cong<[email protected]>

> ---
> diff --git a/arch/mips/include/asm/page.h b/arch/mips/include/asm/page.h
> index d417909..e14121a 100644
> --- a/arch/mips/include/asm/page.h
> +++ b/arch/mips/include/asm/page.h
> @@ -39,9 +39,7 @@
> #define HPAGE_MASK (~(HPAGE_SIZE - 1))
> #define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT)
> #else /* !CONFIG_HUGETLB_PAGE */
> -# ifndef BUILD_BUG

Not clear why we get the error if we're protected with #ifndef...

> -# define BUILD_BUG() do { extern void __build_bug(void); __build_bug(); } while (0)
> -# endif
> +#include<linux/kernel.h>

Do not do #include among the #define's...

> #define HPAGE_SHIFT ({BUILD_BUG(); 0; })
> #define HPAGE_SIZE ({BUILD_BUG(); 0; })
> #define HPAGE_MASK ({BUILD_BUG(); 0; })

WBR, Sergei

2012-02-03 10:42:31

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [Patch] mips: do not redefine BUILD_BUG()

On Fri, Feb 3, 2012 at 11:29, Sergei Shtylyov <[email protected]> wrote:
>> include/linux/kernel.h:717:1: error: "BUILD_BUG" redefined
>> arch/mips/include/asm/page.h:43:1: error: this is the location of the
>> previous definition

>> --- a/arch/mips/include/asm/page.h
>> +++ b/arch/mips/include/asm/page.h
>> @@ -39,9 +39,7 @@
>>  #define HPAGE_MASK    (~(HPAGE_SIZE - 1))
>>  #define HUGETLB_PAGE_ORDER    (HPAGE_SHIFT - PAGE_SHIFT)
>>  #else /* !CONFIG_HUGETLB_PAGE */
>> -# ifndef BUILD_BUG
>
>   Not clear why we get the error if we're protected with #ifndef...

Because this is the first definition. It's redefined later.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

2012-02-03 11:29:38

by Jayachandran C.

[permalink] [raw]
Subject: Re: [Patch] mips: do not redefine BUILD_BUG()

On Fri, Feb 3, 2012 at 1:21 PM, Cong Wang <[email protected]> wrote:
> On mips, we got
>
> include/linux/kernel.h:717:1: error: "BUILD_BUG" redefined
> arch/mips/include/asm/page.h:43:1: error: this is the location of the previous definition
> make[3]: *** [arch/mips/sgi-ip27/ip27-console.o] Error 1
> make[2]: *** [arch/mips/sgi-ip27] Error 2
> make[1]: *** [arch/mips] Error 2
> make: *** [sub-make] Error 2
>
> use generic BUILD_BUG() instead of re-defining one.
>
> Signed-off-by: WANG Cong <[email protected]>

This is already fixed in linux-mips.org repository:

commit 2f5d5510507626ee799b6d1304d154569b6dfe05
Author: Ralf Baechle <[email protected]>
Date: Mon Jan 16 12:38:05 2012 +0100

MIPS: Remove temporary kludge from <asm/page.h>

JC.