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@xxxxxxxxx> > > --- > > 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) { > > + pr_warn("failed to find '%s' ELF section in %s\n", BTF_ELF_SEC, path); > > err = -ENOENT; > > goto done; > > } > > -- > > 2.37.2 > > -- Cheers, Changbin Du