perf tools: Set build-id using build-id header on new mmap records
authorJames Clark <james.clark@arm.com>
Fri, 4 Mar 2022 09:09:56 +0000 (09:09 +0000)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Sat, 12 Mar 2022 14:01:12 +0000 (11:01 -0300)
commitf693dac4794fae99c04f75a3a1a5c4018bb33144
tree77fbe905678e26ca6a2aa761b9fd4a17b2995aa2
parent7177a4792660c605906582ef0bb8f6bb7ff971a1
perf tools: Set build-id using build-id header on new mmap records

MMAP records that occur after the build-id header is parsed do not have
their build-id set even if the filename matches an entry from the
header. Set the build-id on these dsos as long as the MMAP record
doesn't have its own build-id set.

This fixes an issue with off target analysis where the local version of
a dso is loaded rather than one from ~/.debug via a build-id.

Reported-by: Denis Nikitin <denik@chromium.org>
Signed-off-by: James Clark <james.clark@arm.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: coresight@lists.linaro.org
Link: https://lore.kernel.org/r/20220304090956.2048712-2-james.clark@arm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/dso.h
tools/perf/util/header.c
tools/perf/util/map.c