So we now have:
dso->short_name
dso->short_name_len
dso->short_name_allocated
Ditto for the 'long variants. To more quickly grasp what they refer to.
Suggested-by: Ingo Molnar <mingo@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-nu228f8vlp9w0lr7c0q77dqi@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
int i;
for (i = 0; i < MAP__NR_TYPES; ++i)
symbols__delete(&dso->symbols[i]);
int i;
for (i = 0; i < MAP__NR_TYPES; ++i)
symbols__delete(&dso->symbols[i]);
+ if (dso->short_name_allocated)
free((char *)dso->short_name);
free((char *)dso->short_name);
+ if (dso->long_name_allocated)
free(dso->long_name);
dso_cache__free(&dso->cache);
dso__free_a2l(dso);
free(dso->long_name);
dso_cache__free(&dso->cache);
dso__free_a2l(dso);
u8 has_srcline:1;
u8 hit:1;
u8 annotate_warned:1;
u8 has_srcline:1;
u8 hit:1;
u8 annotate_warned:1;
- u8 sname_alloc:1;
- u8 lname_alloc:1;
+ u8 short_name_allocated:1;
+ u8 long_name_allocated:1;
u8 sorted_by_name;
u8 loaded;
u8 rel;
u8 sorted_by_name;
u8 loaded;
u8 rel;
goto out;
}
dso__set_long_name(map->dso, long_name);
goto out;
}
dso__set_long_name(map->dso, long_name);
- map->dso->lname_alloc = 1;
+ map->dso->long_name_allocated = 1;
dso__kernel_module_get_build_id(map->dso, "");
}
}
dso__kernel_module_get_build_id(map->dso, "");
}
}
goto out_problem;
map->dso->short_name = name;
goto out_problem;
map->dso->short_name = name;
- map->dso->sname_alloc = 1;
+ map->dso->short_name_allocated = 1;
map->end = map->start + event->mmap.len;
} else if (is_kernel_mmap) {
const char *symbol_name = (event->mmap.filename +
map->end = map->start + event->mmap.len;
} else if (is_kernel_mmap) {
const char *symbol_name = (event->mmap.filename +
if (filename != NULL) {
err = dso__load_vmlinux(dso, map, filename, filter);
if (err > 0) {
if (filename != NULL) {
err = dso__load_vmlinux(dso, map, filename, filter);
if (err > 0) {
+ dso->long_name_allocated = 1;
goto out;
}
free(filename);
goto out;
}
free(filename);
err = dso__load_vmlinux(dso, map, vmlinux_path[i], filter);
if (err > 0) {
dso__set_long_name(dso, strdup(vmlinux_path[i]));
err = dso__load_vmlinux(dso, map, vmlinux_path[i], filter);
if (err > 0) {
dso__set_long_name(dso, strdup(vmlinux_path[i]));
+ dso->long_name_allocated = 1;
if (err > 0) {
dso__set_long_name(dso,
strdup(symbol_conf.vmlinux_name));
if (err > 0) {
dso__set_long_name(dso,
strdup(symbol_conf.vmlinux_name));
+ dso->long_name_allocated = 1;
return err;
}
return err;
return err;
}
return err;