Patchwork Fix build warnings

login
register
mail settings
Submitter Geoff Levand
Date Sept. 11, 2008, 1:40 a.m.
Message ID <48C8771A.2000806@am.sony.com>
Download mbox | patch
Permalink /patch/234/
State Not Applicable
Headers show

Comments

Geoff Levand - Sept. 11, 2008, 1:40 a.m.
Fix these 64 bit build warnings:

 kexec/firmware_memmap.c:241: warning: format '%d' expects type 'int', but argument 3 has type 'size_t'
 kexec/crashdump-elf.c:160: warning: format '%llx' expects type 'long long unsigned int', but argument 4 has type 'Elf64_Off'
 kexec/crashdump-elf.c:160: warning: format '%llx' expects type 'long long unsigned int', but argument 5 has type 'Elf64_Addr'
 kexec/crashdump-elf.c:160: warning: format '%llx' expects type 'long long unsigned int', but argument 6 has type 'Elf64_Addr'
 kexec/crashdump-elf.c:160: warning: format '%llx' expects type 'long long unsigned int', but argument 7 has type 'Elf64_Xword'
 kexec/crashdump-elf.c:160: warning: format '%llx' expects type 'long long unsigned int', but argument 8 has type 'Elf64_Xword'

Tested on PS3 (ppc64) with 32 and 64 bit builds. 

Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Simon Horman - Sept. 11, 2008, 11:30 p.m.
On Wed, Sep 10, 2008 at 06:40:42PM -0700, Geoff Levand wrote:
> Fix these 64 bit build warnings:
> 
>  kexec/firmware_memmap.c:241: warning: format '%d' expects type 'int', but argument 3 has type 'size_t'
>  kexec/crashdump-elf.c:160: warning: format '%llx' expects type 'long long unsigned int', but argument 4 has type 'Elf64_Off'
>  kexec/crashdump-elf.c:160: warning: format '%llx' expects type 'long long unsigned int', but argument 5 has type 'Elf64_Addr'
>  kexec/crashdump-elf.c:160: warning: format '%llx' expects type 'long long unsigned int', but argument 6 has type 'Elf64_Addr'
>  kexec/crashdump-elf.c:160: warning: format '%llx' expects type 'long long unsigned int', but argument 7 has type 'Elf64_Xword'
>  kexec/crashdump-elf.c:160: warning: format '%llx' expects type 'long long unsigned int', but argument 8 has type 'Elf64_Xword'
> 
> Tested on PS3 (ppc64) with 32 and 64 bit builds. 

Thanks Geoff, applied.

Patch

--- a/kexec/crashdump-elf.c
+++ b/kexec/crashdump-elf.c
@@ -8,8 +8,12 @@ 
 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);		\
+		(prefix), (phdr)->p_type,					\
+		(unsigned long long)((phdr)->p_offset),				\
+		(unsigned long long)((phdr)->p_paddr),				\
+		(unsigned long long)((phdr)->p_vaddr),				\
+		(unsigned long long)((phdr)->p_filesz),				\
+		(unsigned long long)((phdr)->p_memsz));				\
 } while(0)
 #else
 #define dbgprintf_phdr(prefix, phdr)					\
--- a/kexec/firmware_memmap.c
+++ b/kexec/firmware_memmap.c
@@ -237,7 +237,7 @@  int get_firmware_memmap_ranges(struct me
 		/* array overflow check */
 		if ((size_t)i >= *ranges) {
 			fprintf(stderr, "The firmware provides more entries "
-				"allowed (%d). Please report that as bug.\n",
+				"allowed (%zd). Please report that as bug.\n",
 				*ranges);
 			goto error;
 		}