Re: [PATCH 04/14] perf map: Add map__objdump_2rip()
From: Namhyung Kim
Date: Wed Feb 07 2024 - 15:43:40 EST
On Wed, Feb 7, 2024 at 11:56 AM Ian Rogers <irogers@xxxxxxxxxx> wrote:
>
> On Wed, Feb 7, 2024 at 11:04 AM Namhyung Kim <namhyung@xxxxxxxxxx> wrote:
> >
> > On Tue, Feb 6, 2024 at 3:34 PM Ian Rogers <irogers@xxxxxxxxxx> wrote:
> > >
> > > On Tue, Feb 6, 2024 at 3:04 PM Namhyung Kim <namhyung@xxxxxxxxxx> wrote:
> > > >
> > > > Hi Ian,
> > > >
> > > > On Fri, Feb 2, 2024 at 5:42 PM Ian Rogers <irogers@xxxxxxxxxx> wrote:
> > > > >
> > > > > On Fri, Feb 2, 2024 at 2:05 PM Namhyung Kim <namhyung@xxxxxxxxxx> wrote:
> > > > > >
> > > > > > Sometimes we want to convert an address in objdump output to
> > > > > > map-relative address to match with a sample data. Let's add
> > > > > > map__objdump_2rip() for that.
> > > > >
> > > > > Hi Namhyung,
> > > > >
> > > > > I think the naming can be better here. Aren't the objdump addresses
> > > > > DSO relative offsets? Is the relative IP relative to the map or the
> > > > > DSO?
> > > >
> > > > AFAIK the objdump addresses are DSO-relative and rip is to map.
> > > > They are mostly the same but sometimes different due to kASLR
> > > > for the kernel.
> > >
> > > Perhaps we need to use names like map_rip for mapping relative and
> > > dso_rip to clean this up, or to add a different mapping_type to the
> > > enum. For non-kernel maps addresses for map are either the whole
> > > virtual address space (identity) or relative to a dso:
> > > https://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/tree/tools/perf/util/map.h?h=perf-tools-next#n115
> > > https://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/tree/tools/perf/util/map.h?h=perf-tools-next#n20
> > > The dso addresses should work for objdump so perhaps the kernel
> > > addresses need map__pgoff fixing?
> >
> > I'm not sure about the vDSO case.
> >
> > By the way, I need to take a look if we can make this objdump-rip
> > thing simpler as you mentioned. My feeling is that it can be done
> > but I'd like to do it in a separate work and to move this forward.
>
> Makes sense. Could we add a comment to the header file definition to
> capture some of this? Perhaps a "to be removed" to avoid later patches
> adding dependencies to the function.
Sure, will add that in v6.
Thanks,
Namhyung