Re: [PATCH] arm64: Fix compilation error while accessing MPIDR_HWID_BITMASK from .S files

From: Will Deacon
Date: Mon Feb 19 2018 - 06:02:37 EST


Hi John,

On Mon, Feb 19, 2018 at 10:19:35AM +0000, John Garry wrote:
> On 19/02/2018 06:39, Bhupesh Sharma wrote:
> >Since commit e1a50de37860b3a93a9d643b09638db5aff47650 (arm64: cputype:
> >Silence Sparse warnings), compilation of arm64 architecture is broken
> >with the following error messages:
> >
> > AR arch/arm64/kernel/built-in.o
> > arch/arm64/kernel/head.S: Assembler messages:
> > arch/arm64/kernel/head.S:677: Error: found 'L', expected: ')'
> > arch/arm64/kernel/head.S:677: Error: found 'L', expected: ')'
> > arch/arm64/kernel/head.S:677: Error: found 'L', expected: ')'
> > arch/arm64/kernel/head.S:677: Error: junk at end of line, first
> > unrecognized character is `L'
> > arch/arm64/kernel/head.S:677: Error: unexpected characters following
> > instruction at operand 2 -- `movz x1,:abs_g1_s:0xff00ffffffUL'
> > arch/arm64/kernel/head.S:677: Error: unexpected characters following
> > instruction at operand 2 -- `movk x1,:abs_g0_nc:0xff00ffffffUL'
> >
> >This patch fixes the same by using the UL() macro correctly for
> >assigning the MPIDR_HWID_BITMASK macro value.
> >
> >Signed-off-by: Bhupesh Sharma <bhsharma@xxxxxxxxxx>
> >---
> > arch/arm64/include/asm/cputype.h | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> >diff --git a/arch/arm64/include/asm/cputype.h b/arch/arm64/include/asm/cputype.h
> >index eda8c5f629fc..350c76a1d15b 100644
> >--- a/arch/arm64/include/asm/cputype.h
> >+++ b/arch/arm64/include/asm/cputype.h
> >@@ -20,7 +20,7 @@
> >
> > #define MPIDR_UP_BITMASK (0x1 << 30)
> > #define MPIDR_MT_BITMASK (0x1 << 24)
> >-#define MPIDR_HWID_BITMASK 0xff00ffffffUL
> >+#define MPIDR_HWID_BITMASK UL(0xff00ffffff)
>
> Works for me.
>
> FYI, I am using (old) gcc-linaro-4.8-2015.06-x86_64_aarch64.

Just to confirm: are you saying that this patch fixes the build for you,
or that mainline builds for you and the patch is not needed?

Cheers,

Will