Merge commit 'v2.6.35' into perf/core
Conflicts: tools/perf/Makefile tools/perf/util/hist.c Merge reason: Resolve the conflicts and update to latest upstream. Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
@ -1050,13 +1050,17 @@ static int hist_entry__parse_objdump_line(struct hist_entry *self, FILE *file,
|
||||
* Parse hexa addresses followed by ':'
|
||||
*/
|
||||
line_ip = strtoull(tmp, &tmp2, 16);
|
||||
if (*tmp2 != ':' || tmp == tmp2)
|
||||
if (*tmp2 != ':' || tmp == tmp2 || tmp2[1] == '\0')
|
||||
line_ip = -1;
|
||||
}
|
||||
|
||||
if (line_ip != -1) {
|
||||
u64 start = map__rip_2objdump(self->ms.map, sym->start);
|
||||
u64 start = map__rip_2objdump(self->ms.map, sym->start),
|
||||
end = map__rip_2objdump(self->ms.map, sym->end);
|
||||
|
||||
offset = line_ip - start;
|
||||
if (offset < 0 || (u64)line_ip > end)
|
||||
offset = -1;
|
||||
}
|
||||
|
||||
objdump_line = objdump_line__new(offset, line);
|
||||
|
@ -1525,6 +1525,7 @@ static int map_groups__set_modules_path_dir(struct map_groups *self,
|
||||
{
|
||||
struct dirent *dent;
|
||||
DIR *dir = opendir(dir_name);
|
||||
int ret = 0;
|
||||
|
||||
if (!dir) {
|
||||
pr_debug("%s: cannot open %s dir\n", __func__, dir_name);
|
||||
@ -1547,8 +1548,9 @@ static int map_groups__set_modules_path_dir(struct map_groups *self,
|
||||
|
||||
snprintf(path, sizeof(path), "%s/%s",
|
||||
dir_name, dent->d_name);
|
||||
if (map_groups__set_modules_path_dir(self, path) < 0)
|
||||
goto failure;
|
||||
ret = map_groups__set_modules_path_dir(self, path);
|
||||
if (ret < 0)
|
||||
goto out;
|
||||
} else {
|
||||
char *dot = strrchr(dent->d_name, '.'),
|
||||
dso_name[PATH_MAX];
|
||||
@ -1569,18 +1571,19 @@ static int map_groups__set_modules_path_dir(struct map_groups *self,
|
||||
dir_name, dent->d_name);
|
||||
|
||||
long_name = strdup(path);
|
||||
if (long_name == NULL)
|
||||
goto failure;
|
||||
if (long_name == NULL) {
|
||||
ret = -1;
|
||||
goto out;
|
||||
}
|
||||
dso__set_long_name(map->dso, long_name);
|
||||
map->dso->lname_alloc = 1;
|
||||
dso__kernel_module_get_build_id(map->dso, "");
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
failure:
|
||||
out:
|
||||
closedir(dir);
|
||||
return -1;
|
||||
return ret;
|
||||
}
|
||||
|
||||
static char *get_kernel_version(const char *root_dir)
|
||||
|
Reference in New Issue
Block a user