[PATCH 2/3] printk: Use ULL suffix for 64-bit constants

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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>
---
 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)
 
-- 
2.25.1


_______________________________________________
kexec mailing list
kexec@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/kexec




[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux