On Sat, Apr 06, 2013 at 01:39:40PM +0800, Zhang Yanfei wrote: > From: Zhang Yanfei <zhangyanfei at cn.fujitsu.com> > > When compile kexec-tools in i386, we got the following warnings: > > kexec/kexec-elf-rel.c: In function ?elf_rel_set_symbol?: > kexec/kexec-elf-rel.c:517: warning: format ?%ld? expects type ?long int?, but argument 4 has type ?size_t? > kexec/kexec-elf-rel.c: In function ?elf_rel_get_symbol?: > kexec/kexec-elf-rel.c:541: warning: format ?%ld? expects type ?long int?, but argument 4 has type ?size_t? > > This is because the two functions output a size_t value as %ld > when it should be %zd, resulting in this warning. Thanks, This change looks good to me, however, the patch does not appear to apply on the master branch of the kexec-tools tree. Could you rebase and repost it? > > Signed-off-by: Zhang Yanfei <zhangyanfei at cn.fujitsu.com> > --- > kexec/kexec-elf-rel.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/kexec/kexec-elf-rel.c b/kexec/kexec-elf-rel.c > index 38e34ec..6acd50d 100644 > --- a/kexec/kexec-elf-rel.c > +++ b/kexec/kexec-elf-rel.c > @@ -513,7 +513,7 @@ void elf_rel_set_symbol(struct mem_ehdr *ehdr, > name); > } > if (sym.st_size != size) { > - die("Symbol: %s has size: %lld not %ld\n", > + die("Symbol: %s has size: %lld not %zd\n", > name, sym.st_size, size); > } > shdr = &ehdr->e_shdr[sym.st_shndx]; > @@ -537,7 +537,7 @@ void elf_rel_get_symbol(struct mem_ehdr *ehdr, > die("Symbol: %s not found cannot get\n", name); > } > if (sym.st_size != size) { > - die("Symbol: %s has size: %lld not %ld\n", > + die("Symbol: %s has size: %lld not %zd\n", > name, sym.st_size, size); > } > shdr = &ehdr->e_shdr[sym.st_shndx]; > -- > 1.7.1 >