Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 169710
b: refs/heads/master
c: fbd733b
h: refs/heads/master
v: v3
  • Loading branch information
Arnaldo Carvalho de Melo authored and Ingo Molnar committed Nov 21, 2009
1 parent bde543f commit 6090289
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c338aee853db197e1855b393e6d6cc667784537f
refs/heads/master: fbd733b815a5a57d7eb0d904edc49d18fd12df5c
28 changes: 26 additions & 2 deletions trunk/tools/perf/util/symbol.c
Original file line number Diff line number Diff line change
Expand Up @@ -1334,13 +1334,37 @@ static int kernel_maps__create_module_maps(void)
static int dso__load_vmlinux(struct dso *self, struct map *map,
const char *vmlinux, symbol_filter_t filter)
{
int err, fd = open(vmlinux, O_RDONLY);
int err = -1, fd;

self->loaded = 1;
if (self->has_build_id) {
u8 build_id[BUILD_ID_SIZE];

if (filename__read_build_id(vmlinux, build_id,
sizeof(build_id)) < 0) {
pr_debug("No build_id in %s, ignoring it\n", vmlinux);
return -1;
}
if (!dso__build_id_equal(self, build_id)) {
char expected_build_id[BUILD_ID_SIZE * 2 + 1],
vmlinux_build_id[BUILD_ID_SIZE * 2 + 1];

build_id__sprintf(self->build_id,
sizeof(self->build_id),
expected_build_id);
build_id__sprintf(build_id, sizeof(build_id),
vmlinux_build_id);
pr_debug("build_id in %s is %s while expected is %s, "
"ignoring it\n", vmlinux, vmlinux_build_id,
expected_build_id);
return -1;
}
}

fd = open(vmlinux, O_RDONLY);
if (fd < 0)
return -1;

self->loaded = 1;
err = dso__load_sym(self, map, self->long_name, fd, filter, 1, 0);

close(fd);
Expand Down

0 comments on commit 6090289

Please sign in to comment.