[PATCH] Use 'long long' for printf() format string and ELF64 numbers.

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

 



Since 'long long' is 64 bit wide on almost any platform, especially on
32 bit platforms (like i386) while 'long long' is only 64 bit on 64 bit
platforms but 32 bit on 32 bit platforms, 'long long' is more suited and
fixes compiler warnings like

  kexec/crashdump-elf.c:160: warning: format '%lx' expects type \
        'long unsigned int', but argument 4 has type 'Elf64_Off'
  kexec/crashdump-elf.c:160: warning: format '%lx' expects type \
        'long unsigned int', but argument 5 has type 'Elf64_Addr'
  ...
  kexec/crashdump-elf.c:248: warning: format '%lx' expects type \
        'long unsigned int', but argument 8 has type 'Elf64_Xword'

Tested on i686-pc-linux-gnu.

Signed-off-by: Bernhard Walle <bwalle at suse.de>

diff --git a/kexec/crashdump-elf.c b/kexec/crashdump-elf.c
index 7d2befe..f01accb 100644
--- a/kexec/crashdump-elf.c
+++ b/kexec/crashdump-elf.c
@@ -4,12 +4,12 @@
 #endif
 
 #if (ELF_WIDTH == 64)
-#define dbgprintf_phdr(prefix, phdr)					\
-do {									\
-	dbgprintf("%s: p_type = %u, p_offset = 0x%lx p_paddr = 0x%lx "	\
-		"p_vaddr = 0x%lx p_filesz = 0x%lx p_memsz = 0x%lx\n",	\
-		(prefix), (phdr)->p_type, (phdr)->p_offset, (phdr)->p_paddr, \
-		(phdr)->p_vaddr, (phdr)->p_filesz, (phdr)->p_memsz);	\
+#define dbgprintf_phdr(prefix, phdr)						\
+do {										\
+	dbgprintf("%s: p_type = %u, p_offset = 0x%llx p_paddr = 0x%llx "	\
+		"p_vaddr = 0x%llx p_filesz = 0x%llx p_memsz = 0x%llx\n",	\
+		(prefix), (phdr)->p_type, (phdr)->p_offset, (phdr)->p_paddr, 	\
+		(phdr)->p_vaddr, (phdr)->p_filesz, (phdr)->p_memsz);		\
 } while(0)
 #else
 #define dbgprintf_phdr(prefix, phdr)					\



[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