mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-26 13:44:15 +08:00
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: 1f8e2bcb2c
("libbpf: Refactor relocation handling")
Reported-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
parent
1fd450f992
commit
7c3977d1e8
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user