diff options
Diffstat (limited to 'tools/perf/util/map.c')
| -rw-r--r-- | tools/perf/util/map.c | 8 | 
1 files changed, 6 insertions, 2 deletions
diff --git a/tools/perf/util/map.c b/tools/perf/util/map.c index 668410b1d426..5b83ed1ebbd6 100644 --- a/tools/perf/util/map.c +++ b/tools/perf/util/map.c @@ -8,7 +8,9 @@  #include <stdio.h>  #include <unistd.h>  #include <uapi/linux/mman.h> /* To get things like MAP_HUGETLB even on older libc headers */ +#include "dso.h"  #include "map.h" +#include "map_symbol.h"  #include "thread.h"  #include "vdso.h"  #include "build-id.h" @@ -20,6 +22,7 @@  #include "namespaces.h"  #include "unwind.h"  #include "srccode.h" +#include "ui/ui.h"  static void __maps__insert(struct maps *maps, struct map *map);  static void __maps__insert_name(struct maps *maps, struct map *map); @@ -636,7 +639,7 @@ bool map_groups__empty(struct map_groups *mg)  struct map_groups *map_groups__new(struct machine *machine)  { -	struct map_groups *mg = malloc(sizeof(*mg)); +	struct map_groups *mg = zalloc(sizeof(*mg));  	if (mg != NULL)  		map_groups__init(mg, machine); @@ -647,6 +650,7 @@ struct map_groups *map_groups__new(struct machine *machine)  void map_groups__delete(struct map_groups *mg)  {  	map_groups__exit(mg); +	unwind__finish_access(mg);  	free(mg);  } @@ -887,7 +891,7 @@ int map_groups__clone(struct thread *thread, struct map_groups *parent)  		if (new == NULL)  			goto out_unlock; -		err = unwind__prepare_access(thread, new, NULL); +		err = unwind__prepare_access(mg, new, NULL);  		if (err)  			goto out_unlock;  |