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

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


On Mon, Feb 19, 2018 at 11:12:32AM +0000, John Garry wrote:
> On 19/02/2018 11:02, Will Deacon wrote:
> >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?
> >
>
> Ah, what I said was ambigious.
>
> I am saying that linux-next (20180219) is broken for me for the same reason
> and this patch fixes it.
>
> I didn't spot the kernelci message Arnd mentioned, so I just wanted to
> mention the toolchain I used.

Thanks for the clarification; Catalin -- can you pick this up for -rc3 please?

Will