[PATCH] kexec, i386: Fix build warning of size_t print

Zhang Yanfei zhangyanfei at cn.fujitsu.com
Sun Apr 7 21:38:49 EDT 2013


于 2013年04月08日 09:37, Simon Horman 写道:
> 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?

Really? Maybe I made some mistake. Anyway I will regenerate it and
resend it again.

Thanks
Zhang

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




More information about the kexec mailing list