diff options
author | Alexei Starovoitov <ast@kernel.org> | 2019-11-27 17:46:56 -0800 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2019-11-27 17:46:56 -0800 |
commit | 7c3977d1e80401b1a25efded698b05d60ee26e31 (patch) | |
tree | e523f6bbe5bca61548f4feec747ee854f7a13209 | |
parent | 1fd450f99272791df8ea8e1b0f5657678e118e90 (diff) | |
download | linux-stable-7c3977d1e80401b1a25efded698b05d60ee26e31.tar.gz linux-stable-7c3977d1e80401b1a25efded698b05d60ee26e31.tar.bz2 linux-stable-7c3977d1e80401b1a25efded698b05d60ee26e31.zip |
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>
-rw-r--r-- | tools/lib/bpf/libbpf.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c index bae692831e14..3f09772192f1 100644 --- a/tools/lib/bpf/libbpf.c +++ b/tools/lib/bpf/libbpf.c @@ -1817,7 +1817,7 @@ static int bpf_program__record_reloc(struct bpf_program *prog, return -LIBBPF_ERRNO__RELOC; } if (sym->st_value % 8) { - pr_warn("bad call relo offset: %lu\n", sym->st_value); + pr_warn("bad call relo offset: %llu\n", (__u64)sym->st_value); return -LIBBPF_ERRNO__RELOC; } reloc_desc->type = RELO_CALL; |