Re: [RESEND] powerpc/lib: Fix "integer constant is too large" build failure
From: Michael Ellerman
Date: Mon May 21 2018 - 05:09:31 EST
On Fri, 2018-05-18 at 01:18:33 UTC, Finn Thain wrote:
> My powerpc-linux-gnu-gcc v4.4.5 compiler can't build a 32-bit kernel
> any more:
>
> arch/powerpc/lib/sstep.c: In function 'do_popcnt':
> arch/powerpc/lib/sstep.c:1068: error: integer constant is too large for 'long' type
> arch/powerpc/lib/sstep.c:1069: error: integer constant is too large for 'long' type
> arch/powerpc/lib/sstep.c:1069: error: integer constant is too large for 'long' type
> arch/powerpc/lib/sstep.c:1070: error: integer constant is too large for 'long' type
> arch/powerpc/lib/sstep.c:1079: error: integer constant is too large for 'long' type
> arch/powerpc/lib/sstep.c: In function 'do_prty':
> arch/powerpc/lib/sstep.c:1117: error: integer constant is too large for 'long' type
>
> This file gets compiled with -std=gnu89 which means a constant can be
> given the type 'long' even if it won't fit. Fix the errors with a 'ULL'
> suffix on the relevant constants.
>
> Fixes: 2c979c489fee ("powerpc/lib/sstep: Add prty instruction emulation")
> Fixes: dcbd19b48d31 ("powerpc/lib/sstep: Add popcnt instruction emulation")
> Signed-off-by: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx>
Applied to powerpc next, thanks.
https://git.kernel.org/powerpc/c/20acf7fc9409e48cfbfb38262aa534
cheers