diff mbox series

[v2,1/2] libbpf: show error info about missing ".BTF" section

Message ID 20221129134217.52767-2-changbin.du@gmail.com (mailing list archive)
State New
Headers show
Series bpftool: improve error handing for missing .BTF section | expand

Commit Message

Changbin Du Nov. 29, 2022, 1:42 p.m. UTC
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 <changbin.du@gmail.com>
---
 tools/lib/bpf/btf.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Andrii Nakryiko Dec. 1, 2022, 12:55 a.m. UTC | #1
On Tue, Nov 29, 2022 at 5:42 AM Changbin Du <changbin.du@gmail.com> 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 <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 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
>
Changbin Du Dec. 17, 2022, 9:43 a.m. UTC | #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 <changbin.du@gmail.com> 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 <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 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
> >
diff mbox series

Patch

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;
 	}