return ip + map__reloc(map);
 }
 
+/* convert objdump address to relative address.  (To be removed) */
+u64 map__objdump_2rip(struct map *map, u64 ip)
+{
+       const struct dso *dso = map__dso(map);
+
+       if (!dso->adjust_symbols)
+               return ip;
+
+       if (dso->rel)
+               return ip + map__pgoff(map);
+
+       if (dso->kernel == DSO_SPACE__USER)
+               return ip - dso->text_offset;
+
+       return map__map_ip(map, ip + map__reloc(map));
+}
+
 bool map__contains_symbol(const struct map *map, const struct symbol *sym)
 {
        u64 ip = map__unmap_ip(map, sym->start);
 
 /* objdump address -> memory address */
 u64 map__objdump_2mem(struct map *map, u64 ip);
 
+/* objdump address -> rip */
+u64 map__objdump_2rip(struct map *map, u64 ip);
+
 struct symbol;
 struct thread;