• Finn Thain's avatar
    powerpc/lib: Fix "integer constant is too large" build failure · 20acf7fc
    Finn Thain authored
    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: 2c979c48 ("powerpc/lib/sstep: Add prty instruction emulation")
    Fixes: dcbd19b4 ("powerpc/lib/sstep: Add popcnt instruction emulation")
    Signed-off-by: default avatarFinn Thain <fthain@telegraphics.com.au>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    20acf7fc
sstep.c 67.4 KB