|
@@ -187,7 +187,7 @@ static int perf_event__synthesize_mmap_events(struct perf_tool *tool,
|
|
|
return -1;
|
|
|
}
|
|
|
|
|
|
- event->header.type = PERF_RECORD_MMAP2;
|
|
|
+ event->header.type = PERF_RECORD_MMAP;
|
|
|
/*
|
|
|
* Just like the kernel, see __perf_event_mmap in kernel/perf_event.c
|
|
|
*/
|
|
@@ -198,7 +198,6 @@ static int perf_event__synthesize_mmap_events(struct perf_tool *tool,
|
|
|
char prot[5];
|
|
|
char execname[PATH_MAX];
|
|
|
char anonstr[] = "//anon";
|
|
|
- unsigned int ino;
|
|
|
size_t size;
|
|
|
ssize_t n;
|
|
|
|
|
@@ -209,13 +208,10 @@ static int perf_event__synthesize_mmap_events(struct perf_tool *tool,
|
|
|
strcpy(execname, "");
|
|
|
|
|
|
/* 00400000-0040c000 r-xp 00000000 fd:01 41038 /bin/cat */
|
|
|
- n = sscanf(bf, "%"PRIx64"-%"PRIx64" %s %"PRIx64" %x:%x %u %s\n",
|
|
|
- &event->mmap2.start, &event->mmap2.len, prot,
|
|
|
- &event->mmap2.pgoff, &event->mmap2.maj,
|
|
|
- &event->mmap2.min,
|
|
|
- &ino, execname);
|
|
|
-
|
|
|
- event->mmap2.ino = (u64)ino;
|
|
|
+ n = sscanf(bf, "%"PRIx64"-%"PRIx64" %s %"PRIx64" %*x:%*x %*u %s\n",
|
|
|
+ &event->mmap.start, &event->mmap.len, prot,
|
|
|
+ &event->mmap.pgoff,
|
|
|
+ execname);
|
|
|
|
|
|
if (n != 8)
|
|
|
continue;
|
|
@@ -227,15 +223,15 @@ static int perf_event__synthesize_mmap_events(struct perf_tool *tool,
|
|
|
strcpy(execname, anonstr);
|
|
|
|
|
|
size = strlen(execname) + 1;
|
|
|
- memcpy(event->mmap2.filename, execname, size);
|
|
|
+ memcpy(event->mmap.filename, execname, size);
|
|
|
size = PERF_ALIGN(size, sizeof(u64));
|
|
|
- event->mmap2.len -= event->mmap.start;
|
|
|
- event->mmap2.header.size = (sizeof(event->mmap2) -
|
|
|
- (sizeof(event->mmap2.filename) - size));
|
|
|
- memset(event->mmap2.filename + size, 0, machine->id_hdr_size);
|
|
|
- event->mmap2.header.size += machine->id_hdr_size;
|
|
|
- event->mmap2.pid = tgid;
|
|
|
- event->mmap2.tid = pid;
|
|
|
+ event->mmap.len -= event->mmap.start;
|
|
|
+ event->mmap.header.size = (sizeof(event->mmap) -
|
|
|
+ (sizeof(event->mmap.filename) - size));
|
|
|
+ memset(event->mmap.filename + size, 0, machine->id_hdr_size);
|
|
|
+ event->mmap.header.size += machine->id_hdr_size;
|
|
|
+ event->mmap.pid = tgid;
|
|
|
+ event->mmap.tid = pid;
|
|
|
|
|
|
if (process(tool, event, &synth_sample, machine) != 0) {
|
|
|
rc = -1;
|