kexec: fix some compiler warnings
Subsystems (2)
PATCH 1/1 kexec: fix some compiler warnings
I got the following warnings when I compiled kexec-tools:
kexec/kexec-elf-rel.c: In function 'elf_rel_load':kexec/kexec-elf-rel.c:367: warning: format '%lx' expects type 'long unsigned int', but argument 6 has type 'unsigned int' kexec/kexec-elf-rel.c:367: warning: format '%lx' expects type 'long unsigned int', but argument 7 has type 'long long unsigned int' kexec/kexec-elf-rel.c:367: warning: format '%lx' expects type 'long unsigned int', but argument 8 has type 'long long unsigned int' kexec/arch/i386/crashdump-x86.c: In function 'get_kernel_paddr':kexec/arch/i386/crashdump-x86.c:99: warning: format '%016Lx' expects type 'long long unsigned int', but argument 3 has type 'uint64_t' kexec/arch/i386/crashdump-x86.c: In function 'get_kernel_vaddr_and_size':kexec/arch/i386/crashdump-x86.c:171: warning: format '%lx' expects type 'long unsigned int', but argument 3 has type 'long long unsigned int' kexec/arch/i386/crashdump-x86.c: In function 'get_crash_notes':kexec/arch/i386/crashdump-x86.c:781: warning: format '%Lx' expects type 'long long unsigned int', but argument 3 has type 'uint64_t' kexec/arch/i386/crashdump-x86.c: In function 'load_crashdump_segments':kexec/arch/i386/crashdump-x86.c:905: warning: 'nr_ranges' may be used uninitialized in this function
The patch fix above warnings.
--- kexec/arch/i386/crashdump-x86.c | 10 ++++++---- kexec/crashdump.c | 3 ++- kexec/kexec-elf-rel.c | 2 +- 3 files changed, 9 insertions(+), 6 deletions(-)
kexec/arch/i386/crashdump-x86.c +6 -4
@@ -96,7 +96,8 @@ static int get_kernel_paddr(struct kexec_info *UNUSED(info),if (parse_iomem_single ("Kernel code\n" , &start,NULL ) ==0 ) { elf_info->kern_paddr_start = start; -dbgprintf ("kernel load physical addr start = 0x%016Lx\n" , start); +dbgprintf ("kernel load physical addr start = 0x%016Lx\n" , + (unsigned long long )start);return 0 ; }
@@ -168,7 +169,7 @@ static int get_kernel_vaddr_and_size(struct kexec_info *UNUSED(info),/* Align size to page size boundary. */ size = (size + align -1 ) & (~(align -1 )); elf_info->kern_size = size; -dbgprintf ("kernel vaddr = 0x%lx size = 0x%llx\n" , +dbgprintf ("kernel vaddr = 0x%llx size = 0x%llx\n" , saddr, size);return 0 ; }
@@ -771,7 +772,8 @@ static int get_crash_notes(int cpu, uint64_t *addr, uint64_t *len) *addr =x86__pa (vaddr + (cpu *MAX_NOTE_BYTES )); *len =MAX_NOTE_BYTES ; -dbgprintf ("crash_notes addr = %Lx\n" , *addr); +dbgprintf ("crash_notes addr = %Lx\n" , + (unsigned long long )*addr);fclose (fp);return 0 ;
@@ -895,7 +897,7 @@ int load_crashdump_segments(struct kexec_info *info, char* mod_cmdline, {void *tmp;unsigned long sz, bufsz, memsz, elfcorehdr; -int nr_ranges, align =1024 , i; +int nr_ranges =0 , align =1024 , i;struct memory_range *mem_range, *memmap_p;struct crash_elf_info elf_info;unsigned kexec_arch;
kexec/crashdump.c +2 -1
@@ -103,7 +103,8 @@ int get_crash_notes_per_cpu(int cpu, uint64_t *addr, uint64_t *len) *addr = (uint64_t ) temp; *len =MAX_NOTE_BYTES ;/* we should get this from the kernel instead */ -dbgprintf ("%s: crash_notes addr = %Lx\n" , __FUNCTION__, *addr); +dbgprintf ("%s: crash_notes addr = %Lx\n" , __FUNCTION__, + (unsigned long long )*addr);fclose (fp);return 0 ;
kexec/kexec-elf-rel.c +1 -1
@@ -364,7 +364,7 @@ int elf_rel_load(struct mem_ehdr *ehdr, struct kexec_info *info, name += ehdr->e_shdr[sym.st_shndx].sh_name; } - dbgprintf("sym: %10s info: %02x other: %02x shndx: %lx value: %lx size: %lx\n", + dbgprintf("sym: %10s info: %02x other: %02x shndx: %x value: %llx size: %llx\n", name, sym.st_info, sym.st_other,
Signature · 6 lines
1.7.1 _______________________________________________ kexec mailing list [email protected] http://lists.infradead.org/mailman/listinfo/kexec
Simon Horman
AppliedQuoted 15 lines · Zhang Yanfei
I got the following warnings when I compiled kexec-tools:
kexec/kexec-elf-rel.c: In function 'elf_rel_load':kexec/kexec-elf-rel.c:367: warning: format '%lx' expects type 'long unsigned int', but argument 6 has type 'unsigned int'kexec/kexec-elf-rel.c:367: warning: format '%lx' expects type 'long unsigned int', but argument 7 has type 'long long unsigned int'kexec/kexec-elf-rel.c:367: warning: format '%lx' expects type 'long unsigned int', but argument 8 has type 'long long unsigned int'kexec/arch/i386/crashdump-x86.c: In function 'get_kernel_paddr':kexec/arch/i386/crashdump-x86.c:99: warning: format '%016Lx' expects type 'long long unsigned int', but argument 3 has type 'uint64_t'kexec/arch/i386/crashdump-x86.c: In function 'get_kernel_vaddr_and_size':kexec/arch/i386/crashdump-x86.c:171: warning: format '%lx' expects type 'long unsigned int', but argument 3 has type 'long long unsigned int'kexec/arch/i386/crashdump-x86.c: In function 'get_crash_notes':kexec/arch/i386/crashdump-x86.c:781: warning: format '%Lx' expects type 'long long unsigned int', but argument 3 has type 'uint64_t'kexec/arch/i386/crashdump-x86.c: In function 'load_crashdump_segments':kexec/arch/i386/crashdump-x86.c:905: warning: 'nr_ranges' may be used uninitialized in this function
Quoted 1 line
The patch fix above warnings.
Thanks! Applied.
_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec