if (!al->sym) {
al->sym = symbol__new(al->addr, 0, 0, "unknown");
if (al->sym)
- symbols__insert(&dso->symbols[al->map->type],
- al->sym);
+ dso__insert_symbol(dso, al->map->type, al->sym);
}
if (al->sym) {
al.sym = node->sym;
al.map = node->map;
al.machine = machine;
- if (al.map)
- al.addr = al.map->map_ip(al.map, node->ip);
- else
- al.addr = node->ip;
+ al.addr = node->ip;
+
+ if (al.map && !al.sym)
+ al.sym = dso__find_symbol(al.map->dso, MAP__FUNCTION,
+ al.addr);
db_ids_from_al(dbe, &al, &dso_db_id, &sym_db_id, &offset);