dwarves: Set errno if load fails in cus__load_files()
This patch improves the error seen by the user by setting errno in
cus__load_files(). Otherwise, we get a "No such file or directory" error
which might be confusing.
Before the patch, using a bogus file:
$ ./pahole -J ./vmlinux-5.3.18-24.102-default.debug
pahole: ./vmlinux-5.3.18-24.102-default.debug: No such file or directory
$ ls ./vmlinux-5.3.18-24.102-default.debug
/home/kkourt/src/hubble-fgs/vmlinux-5.3.18-24.102-default.debug
$
After the patch:
$ ./pahole -J ./vmlinux-5.3.18-24.102-default.debug
pahole: ./vmlinux-5.3.18-24.102-default.debug: Unknown error -22
$
Which is not very helpful, but less confusing.
Committer notes:
We need to turn the returned negative error to positive when setting it
to 'errno', that way the error message will be:
$ ./pahole -J ./vmlinux-5.3.18-24.102-default.debug
pahole: ./vmlinux-5.3.18-24.102-default.debug: Invalid argument
$
Because:
$ grep -w 22 /usr/include/*/errno*
/usr/include/asm-generic/errno-base.h:#define EINVAL 22 /* Invalid argument */
$
Signed-off-by: Kornilios Kourtis <kornilios@isovalent.com>
Acked-by: John Fastabend <john.fastabend@gmail.com>
Cc: bpf@vger.kernel.org
Cc: dwarves@vger.kernel.org
Link: http://lore.kernel.org/lkml/20220316132354.3226908-1-kkourt@kkourt.io
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
1 file changed