perf annotate: Work with vmlinux outside symfs
authorVincent Whitchurch <vincent.whitchurch@axis.com>
Fri, 25 Nov 2022 11:42:09 +0000 (12:42 +0100)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 16 Jun 2023 13:04:28 +0000 (10:04 -0300)
commit66dc1920f6bbc172ee35520d024977d5330df842
tree0e86939ae92cec9abaf53c1bb1821b0a34f71da6
parentf962514052aa5e8973343af1b1ba041d61424405
perf annotate: Work with vmlinux outside symfs

It is currently possible to use --symfs along with a vmlinux which lies
outside of the symfs by passing an absolute path to --vmlinux, thanks to
the check in dso__load_vmlinux() which handles this explicitly.

However, the annotate code lacks this check and thus 'perf annotate'
does not work ("Internal error: Invalid -1 error code") for kernel
functions with this combination.  Add the missing handling.

Signed-off-by: Vincent Whitchurch <vincent.whitchurch@axis.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: kernel@axis.com
Link: https://lore.kernel.org/r/20221125114210.2353820-1-vincent.whitchurch@axis.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/annotate.c