On 2021-03-17, Geert Uytterhoeven <geert+renesas@xxxxxxxxx> wrote: > When compiling for 32-bit: > > util_lib/elf_info.c: In function ‘get_desc_state’: > util_lib/elf_info.c:923:31: warning: left shift count >= width of type [-Wshift-count-overflow] > 923 | #define DESC_FLAGS_MASK (3UL << DESC_FLAGS_SHIFT) > | ^~ > util_lib/elf_info.c:925:25: note: in expansion of macro ‘DESC_FLAGS_MASK’ > 925 | #define DESC_ID_MASK (~DESC_FLAGS_MASK) > | ^~~~~~~~~~~~~~~ > util_lib/elf_info.c:926:30: note: in expansion of macro ‘DESC_ID_MASK’ > 926 | #define DESC_ID(sv) ((sv) & DESC_ID_MASK) > | ^~~~~~~~~~~~ > util_lib/elf_info.c:947:12: note: in expansion of macro ‘DESC_ID’ > 947 | if (id != DESC_ID(state_val)) > | ^~~~~~~ > util_lib/elf_info.c: In function ‘id_inc’: > util_lib/elf_info.c:923:31: warning: left shift count >= width of type [-Wshift-count-overflow] > 923 | #define DESC_FLAGS_MASK (3UL << DESC_FLAGS_SHIFT) > | ^~ > util_lib/elf_info.c:925:25: note: in expansion of macro ‘DESC_FLAGS_MASK’ > 925 | #define DESC_ID_MASK (~DESC_FLAGS_MASK) > | ^~~~~~~~~~~~~~~ > util_lib/elf_info.c:981:15: note: in expansion of macro ‘DESC_ID_MASK’ > 981 | return (id & DESC_ID_MASK); > | ^~~~~~~~~~~~ > > Indeed, "unsigned long" constants are 32-bit on 32-bit platforms, and > 64-bit on 64-bit platforms. > > Fix this by using a "ULL" suffix instead. > > Fixes: 4149df9005f2cdd2 ("printk: add support for lockless ringbuffer") > Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: John Ogness <john.ogness@xxxxxxxxxxxxx> > --- > util_lib/elf_info.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/util_lib/elf_info.c b/util_lib/elf_info.c > index 2f23a448da08ebdd..7c0a2c345379a7ca 100644 > --- a/util_lib/elf_info.c > +++ b/util_lib/elf_info.c > @@ -920,8 +920,8 @@ enum desc_state { > > #define DESC_SV_BITS (sizeof(uint64_t) * 8) > #define DESC_FLAGS_SHIFT (DESC_SV_BITS - 2) > -#define DESC_FLAGS_MASK (3UL << DESC_FLAGS_SHIFT) > -#define DESC_STATE(sv) (3UL & (sv >> DESC_FLAGS_SHIFT)) > +#define DESC_FLAGS_MASK (3ULL << DESC_FLAGS_SHIFT) > +#define DESC_STATE(sv) (3ULL & (sv >> DESC_FLAGS_SHIFT)) > #define DESC_ID_MASK (~DESC_FLAGS_MASK) > #define DESC_ID(sv) ((sv) & DESC_ID_MASK) _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec