From: Jiri Olsa <jo...@kernel.org>

With pgoff set to zero, the map__map_ip function will return BPF
addresses based from 0, which is what we need when we read the data from
a BPF DSO.

Adding BPF symbols with mapped IP addresses as well.

Signed-off-by: Jiri Olsa <jo...@kernel.org>
Acked-by: Song Liu <songliubrav...@fb.com>
Cc: Adrian Hunter <adrian.hun...@intel.com>
Cc: Alexander Shishkin <alexander.shish...@linux.intel.com>
Cc: Andi Kleen <a...@linux.intel.com>
Cc: Namhyung Kim <namhy...@kernel.org>
Cc: Peter Zijlstra <pet...@infradead.org>
Cc: Stanislav Fomichev <s...@google.com>
Link: http://lkml.kernel.org/r/20190508132010.14512-7-jo...@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <a...@redhat.com>
---
 tools/perf/util/machine.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index dc7aafe45a2b..f5569f005cf3 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -704,12 +704,12 @@ static int machine__process_ksymbol_register(struct 
machine *machine,
                        return -ENOMEM;
 
                map->start = event->ksymbol_event.addr;
-               map->pgoff = map->start;
                map->end = map->start + event->ksymbol_event.len;
                map_groups__insert(&machine->kmaps, map);
        }
 
-       sym = symbol__new(event->ksymbol_event.addr, event->ksymbol_event.len,
+       sym = symbol__new(map->map_ip(map, map->start),
+                         event->ksymbol_event.len,
                          0, 0, event->ksymbol_event.name);
        if (!sym)
                return -ENOMEM;
-- 
2.20.1

Reply via email to