2022-11-29 13:49:58

by Changbin Du

[permalink] [raw]
Subject: [PATCH v2 1/2] libbpf: show error info about missing ".BTF" section

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


2022-12-01 01:36:08

by Andrii Nakryiko

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] libbpf: show error info about missing ".BTF" section

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
>

2022-12-17 10:07:13

by Changbin Du

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] libbpf: show error info about missing ".BTF" section

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