perf tools: Pass build_id object to dso__set_build_id()
[linux-2.6-microblaze.git] / tools / perf / util / header.c
index 251faa9..21243ad 100644 (file)
@@ -2056,7 +2056,7 @@ static int __event_process_build_id(struct perf_record_header_build_id *bev,
        struct machine *machine;
        u16 cpumode;
        struct dso *dso;
-       enum dso_kernel_type dso_type;
+       enum dso_space_type dso_space;
 
        machine = perf_session__findnew_machine(session, bev->pid);
        if (!machine)
@@ -2066,14 +2066,14 @@ static int __event_process_build_id(struct perf_record_header_build_id *bev,
 
        switch (cpumode) {
        case PERF_RECORD_MISC_KERNEL:
-               dso_type = DSO_TYPE_KERNEL;
+               dso_space = DSO_SPACE__KERNEL;
                break;
        case PERF_RECORD_MISC_GUEST_KERNEL:
-               dso_type = DSO_TYPE_GUEST_KERNEL;
+               dso_space = DSO_SPACE__KERNEL_GUEST;
                break;
        case PERF_RECORD_MISC_USER:
        case PERF_RECORD_MISC_GUEST_USER:
-               dso_type = DSO_TYPE_USER;
+               dso_space = DSO_SPACE__USER;
                break;
        default:
                goto out;
@@ -2082,22 +2082,22 @@ static int __event_process_build_id(struct perf_record_header_build_id *bev,
        dso = machine__findnew_dso(machine, filename);
        if (dso != NULL) {
                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_type != DSO_TYPE_USER) {
+               if (dso_space != DSO_SPACE__USER) {
                        struct kmod_path m = { .name = NULL, };
 
                        if (!kmod_path__parse_name(&m, filename) && m.kmod)
                                dso__set_module_info(dso, &m, machine);
-                       else
-                               dso->kernel = dso_type;
 
+                       dso->kernel = dso_space;
                        free(m.name);
                }
 
-               build_id__sprintf(dso->build_id, sizeof(dso->build_id),
-                                 sbuild_id);
+               build_id__sprintf(&dso->bid, sbuild_id);
                pr_debug("build id event received for %s: %s\n",
                         dso->long_name, sbuild_id);
                dso__put(dso);