On Mon, Dec 19, 2022 at 11:45:08AM +0800, Leo Yan wrote:
Hi Changbin,
On Sun, Dec 18, 2022 at 06:35:08AM +0800, Changbin Du wrote:
Show the real problem instead of just saying "No such file or directory".
Now will print below info: libbpf: failed to find '.BTF' ELF section in /home/changbin/work/linux/vmlinux
Recently I encountered the same issue, it could be caused by: either missing to install tool pahole or missing to enable kernel configuration CONFIG_DEBUG_INFO_BTF.
Could we give explict info for reasoning failure? Like:
"libbpf: failed to find '.BTF' ELF section in /home/changbin/work/linux/vmlinux, please install pahole and enable CONFIG_DEBUG_INFO_BTF=y for kernel building".
This is vmlinux special information and similar tips are removed from patch V2. libbpf is common for all ELFs.
Error: failed to load BTF from /home/changbin/work/linux/vmlinux: No such file or directory
This log is confusing when we can find vmlinux file but without BTF section. Consider to use a separate patch to detect vmlinux not found case and print out "No such file or directory"?
I think it's already there. If the file doesn't exist, open will fail.
Thanks, Leo
Signed-off-by: Changbin Du changbin.du@gmail.com
tools/lib/bpf/btf.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/tools/lib/bpf/btf.c b/tools/lib/bpf/btf.c index 71e165b09ed5..dd2badf1a54e 100644 --- a/tools/lib/bpf/btf.c +++ b/tools/lib/bpf/btf.c @@ -990,6 +990,7 @@ static struct btf *btf_parse_elf(const char *path, struct btf *base_btf, err = 0; if (!btf_data) {
err = -ENOENT; goto done; }pr_warn("failed to find '%s' ELF section in %s\n", BTF_ELF_SEC, path);
-- 2.37.2