Re: [PATCH] MIPS: fix duplicate define

From: James Hogan
Date: Wed Nov 09 2016 - 04:54:14 EST


On Tue, Nov 08, 2016 at 09:43:35PM +0000, Sudip Mukherjee wrote:
> The mips build of ip27_defconfig is failing with the error:
> In file included from ../arch/mips/include/asm/mach-ip27/spaces.h:29:0,
> from ../arch/mips/include/asm/page.h:12,
> from ../arch/mips/vdso/vdso.h:26,
> from ../arch/mips/vdso/gettimeofday.c:11:
> ../arch/mips/include/asm/mach-generic/spaces.h:28:0:
> error: "CAC_BASE" redefined [-Werror]
> #define CAC_BASE _AC(0x80000000, UL)
>
> In file included from ../arch/mips/include/asm/page.h:12:0,
> from ../arch/mips/vdso/vdso.h:26,
> from ../arch/mips/vdso/gettimeofday.c:11:
> ../arch/mips/include/asm/mach-ip27/spaces.h:22:0:
> note: this is the location of the previous definition
> #define CAC_BASE 0xa800000000000000
>
> Add a condition to check if CAC_BASE is already defined, and define it
> only if it is not yet defined.
>
> Fixes: 3ffc17d8768b ("MIPS: Adjust MIPS64 CAC_BASE to reflect Config.K0")
> Signed-off-by: Sudip Mukherjee <sudip.mukherjee@xxxxxxxxxxxxxxx>
> ---
>
> Build log is at:
> https://travis-ci.org/sudipm-mukherjee/parport/jobs/174134289
>
> arch/mips/include/asm/mach-generic/spaces.h | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/mips/include/asm/mach-generic/spaces.h b/arch/mips/include/asm/mach-generic/spaces.h
> index 952b0fd..61b75da 100644
> --- a/arch/mips/include/asm/mach-generic/spaces.h
> +++ b/arch/mips/include/asm/mach-generic/spaces.h
> @@ -23,10 +23,12 @@
>
> #ifdef CONFIG_32BIT
> #ifdef CONFIG_KVM_GUEST
> +#ifndef CAC_BASE

This is wrong. Should it be one line up? Note the else...

> #define CAC_BASE _AC(0x40000000, UL)
> #else

here ^^^

i.e. you appear to be changing
CONFIG_KVM_GUEST:
CAC_BASE=0x40000000
!CONFIG_KVM_GUEST:
CAC_BASE=0x80000000

to:

CONFIG_KVM_GUEST:
!CAC_BASE:
CAC_BASE=0x40000000
CAC_BASE:
CAC_BASE=0x80000000
!CONFIG_KVM_GUEST:
(nothing)

Cheers
James

> #define CAC_BASE _AC(0x80000000, UL)
> #endif
> +#endif
> #ifndef IO_BASE
> #define IO_BASE _AC(0xa0000000, UL)
> #endif
> --
> 1.9.1
>
>

Attachment: signature.asc
Description: Digital signature