|
@@ -216,9 +216,12 @@ size_t map__fprintf_dsoname(struct map *map, FILE *fp)
|
|
|
{
|
|
|
const char *dsoname;
|
|
|
|
|
|
- if (map && map->dso && map->dso->name)
|
|
|
- dsoname = map->dso->name;
|
|
|
- else
|
|
|
+ if (map && map->dso && (map->dso->name || map->dso->long_name)) {
|
|
|
+ if (symbol_conf.show_kernel_path && map->dso->long_name)
|
|
|
+ dsoname = map->dso->long_name;
|
|
|
+ else if (map->dso->name)
|
|
|
+ dsoname = map->dso->name;
|
|
|
+ } else
|
|
|
dsoname = "[unknown]";
|
|
|
|
|
|
return fprintf(fp, "%s", dsoname);
|