diff options
Diffstat (limited to 'tools/perf/util/scripting-engines/trace-event-perl.c')
| -rw-r--r-- | tools/perf/util/scripting-engines/trace-event-perl.c | 10 | 
1 files changed, 6 insertions, 4 deletions
diff --git a/tools/perf/util/scripting-engines/trace-event-perl.c b/tools/perf/util/scripting-engines/trace-event-perl.c index 83fd2fd0ba16..039d0365ad41 100644 --- a/tools/perf/util/scripting-engines/trace-event-perl.c +++ b/tools/perf/util/scripting-engines/trace-event-perl.c @@ -315,12 +315,14 @@ static SV *perl_process_callchain(struct perf_sample *sample,  		if (node->ms.map) {  			struct map *map = node->ms.map; +			struct dso *dso = map ? map__dso(map) : NULL;  			const char *dsoname = "[unknown]"; -			if (map && map->dso) { -				if (symbol_conf.show_kernel_path && map->dso->long_name) -					dsoname = map->dso->long_name; + +			if (dso) { +				if (symbol_conf.show_kernel_path && dso->long_name) +					dsoname = dso->long_name;  				else -					dsoname = map->dso->name; +					dsoname = dso->name;  			}  			if (!hv_stores(elem, "dso", newSVpv(dsoname,0))) {  				hv_undef(elem);  | 
