Commit 8dfdf440 authored by Jiri Olsa's avatar Jiri Olsa Committed by Arnaldo Carvalho de Melo

perf tools: Pass build_id object to dso__set_build_id()

Passing build_id object to dso__set_build_id(), so it's easier
to initialize dos's build id object.
Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
Acked-by: default avatarIan Rogers <irogers@google.com>
Link: https://lore.kernel.org/r/20201013192441.1299447-6-jolsa@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent bf541169
...@@ -1326,9 +1326,9 @@ void dso__put(struct dso *dso) ...@@ -1326,9 +1326,9 @@ void dso__put(struct dso *dso)
dso__delete(dso); dso__delete(dso);
} }
void dso__set_build_id(struct dso *dso, void *build_id) void dso__set_build_id(struct dso *dso, struct build_id *bid)
{ {
memcpy(dso->bid.data, build_id, sizeof(dso->bid.data)); dso->bid = *bid;
dso->has_build_id = 1; dso->has_build_id = 1;
} }
......
...@@ -260,7 +260,7 @@ bool dso__sorted_by_name(const struct dso *dso); ...@@ -260,7 +260,7 @@ bool dso__sorted_by_name(const struct dso *dso);
void dso__set_sorted_by_name(struct dso *dso); void dso__set_sorted_by_name(struct dso *dso);
void dso__sort_by_name(struct dso *dso); void dso__sort_by_name(struct dso *dso);
void dso__set_build_id(struct dso *dso, void *build_id); void dso__set_build_id(struct dso *dso, struct build_id *bid);
bool dso__build_id_equal(const struct dso *dso, u8 *build_id); bool dso__build_id_equal(const struct dso *dso, u8 *build_id);
void dso__read_running_kernel_build_id(struct dso *dso, void dso__read_running_kernel_build_id(struct dso *dso,
struct machine *machine); struct machine *machine);
......
...@@ -2082,8 +2082,10 @@ static int __event_process_build_id(struct perf_record_header_build_id *bev, ...@@ -2082,8 +2082,10 @@ static int __event_process_build_id(struct perf_record_header_build_id *bev,
dso = machine__findnew_dso(machine, filename); dso = machine__findnew_dso(machine, filename);
if (dso != NULL) { if (dso != NULL) {
char sbuild_id[SBUILD_ID_SIZE]; char sbuild_id[SBUILD_ID_SIZE];
struct build_id bid;
dso__set_build_id(dso, &bev->build_id); build_id__init(&bid, bev->build_id, BUILD_ID_SIZE);
dso__set_build_id(dso, &bid);
if (dso_space != DSO_SPACE__USER) { if (dso_space != DSO_SPACE__USER) {
struct kmod_path m = { .name = NULL, }; struct kmod_path m = { .name = NULL, };
......
...@@ -349,7 +349,7 @@ int dso__load_sym(struct dso *dso, struct map *map __maybe_unused, ...@@ -349,7 +349,7 @@ int dso__load_sym(struct dso *dso, struct map *map __maybe_unused,
dso->is_64_bit = ret; dso->is_64_bit = ret;
if (filename__read_build_id(ss->name, &bid) > 0) if (filename__read_build_id(ss->name, &bid) > 0)
dso__set_build_id(dso, bid.data); dso__set_build_id(dso, &bid);
return 0; return 0;
} }
......
...@@ -1818,7 +1818,7 @@ int dso__load(struct dso *dso, struct map *map) ...@@ -1818,7 +1818,7 @@ int dso__load(struct dso *dso, struct map *map)
is_regular_file(dso->long_name)) { is_regular_file(dso->long_name)) {
__symbol__join_symfs(name, PATH_MAX, dso->long_name); __symbol__join_symfs(name, PATH_MAX, dso->long_name);
if (filename__read_build_id(name, &bid) > 0) if (filename__read_build_id(name, &bid) > 0)
dso__set_build_id(dso, bid.data); dso__set_build_id(dso, &bid);
} }
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment