OSDN Git Service

libbpf: Fix sym->st_value print on 32-bit arches
authorAlexei Starovoitov <ast@kernel.org>
Thu, 28 Nov 2019 01:46:56 +0000 (17:46 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Thu, 28 Nov 2019 01:46:56 +0000 (17:46 -0800)
commit7c3977d1e80401b1a25efded698b05d60ee26e31
treee523f6bbe5bca61548f4feec747ee854f7a13209
parent1fd450f99272791df8ea8e1b0f5657678e118e90
libbpf: Fix sym->st_value print on 32-bit arches

The st_value field is a 64-bit value and causing this error on 32-bit arches:

In file included from libbpf.c:52:
libbpf.c: In function 'bpf_program__record_reloc':
libbpf_internal.h:59:22: error: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'Elf64_Addr' {aka 'const long long unsigned int'} [-Werror=format=]

Fix it with (__u64) cast.

Fixes: 1f8e2bcb2cd5 ("libbpf: Refactor relocation handling")
Reported-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/lib/bpf/libbpf.c