|
@@ -7,6 +7,7 @@
|
|
|
#include <stdio.h>
|
|
|
#include <unistd.h>
|
|
|
#include "map.h"
|
|
|
+#include "thread.h"
|
|
|
|
|
|
const char *map_type__name[MAP__NR_TYPES] = {
|
|
|
[MAP__FUNCTION] = "Functions",
|
|
@@ -585,7 +586,21 @@ int machine__init(struct machine *self, const char *root_dir, pid_t pid)
|
|
|
self->kmaps.machine = self;
|
|
|
self->pid = pid;
|
|
|
self->root_dir = strdup(root_dir);
|
|
|
- return self->root_dir == NULL ? -ENOMEM : 0;
|
|
|
+ if (self->root_dir == NULL)
|
|
|
+ return -ENOMEM;
|
|
|
+
|
|
|
+ if (pid != HOST_KERNEL_ID) {
|
|
|
+ struct thread *thread = machine__findnew_thread(self, pid);
|
|
|
+ char comm[64];
|
|
|
+
|
|
|
+ if (thread == NULL)
|
|
|
+ return -ENOMEM;
|
|
|
+
|
|
|
+ snprintf(comm, sizeof(comm), "[guest/%d]", pid);
|
|
|
+ thread__set_comm(thread, comm);
|
|
|
+ }
|
|
|
+
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
static void dsos__delete(struct list_head *self)
|