Show the real problem instead of just saying "No such file or directory".
Now will print below info:
libbpf: can not find '.BTF' section
Error: failed to load BTF from /home/changbin/work/linux/vmlinux: No such file or directory
Signed-off-by: Changbin Du <[email protected]>
---
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 d88647da2c7f..1adc0f6019a0 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("can not find '%s' section\n", BTF_ELF_SEC);
err = -ENOENT;
goto done;
}
--
2.37.2
On Tue, Nov 29, 2022 at 5:42 AM Changbin Du <[email protected]> wrote:
>
> Show the real problem instead of just saying "No such file or directory".
>
> Now will print below info:
> libbpf: can not find '.BTF' section
> Error: failed to load BTF from /home/changbin/work/linux/vmlinux: No such file or directory
>
> Signed-off-by: Changbin Du <[email protected]>
> ---
> 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 d88647da2c7f..1adc0f6019a0 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("can not find '%s' section\n", BTF_ELF_SEC);
let's use consistent form of error messages:
pr_warn("failed to find '%s' ELF section in %s\n", BTF_ELF_SEC, path);
> err = -ENOENT;
> goto done;
> }
> --
> 2.37.2
>
On Wed, Nov 30, 2022 at 04:55:13PM -0800, Andrii Nakryiko wrote:
> On Tue, Nov 29, 2022 at 5:42 AM Changbin Du <[email protected]> wrote:
> >
> > Show the real problem instead of just saying "No such file or directory".
> >
> > Now will print below info:
> > libbpf: can not find '.BTF' section
> > Error: failed to load BTF from /home/changbin/work/linux/vmlinux: No such file or directory
> >
> > Signed-off-by: Changbin Du <[email protected]>
> > ---
> > 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 d88647da2c7f..1adc0f6019a0 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("can not find '%s' section\n", BTF_ELF_SEC);
>
> let's use consistent form of error messages:
>
> pr_warn("failed to find '%s' ELF section in %s\n", BTF_ELF_SEC, path);
>
okay.
> > err = -ENOENT;
> > goto done;
> > }
> > --
> > 2.37.2
> >
--
Cheers,
Changbin Du