Home | History | Annotate | Download | only in src

Lines Matching full:mmap

84   void UpdateMapsWithMMapEvent(const quipper::PerfDataProto_MMapEvent* mmap);
92 // Find the MMAP event which has ip in its address range from pid. If no
101 // Find the main MMAP event for this pid. If no mapping is found,
127 // pid_to_mmaps maps a pid to all mmap events that correspond to that pid.
130 // pid_to_executable_mmap maps a pid to mmap that most likely contains the
330 const quipper::PerfDataProto_MMapEvent* mmap) {
331 if (mmap->len() == 0) {
332 LOG(WARNING) << "bogus mapping: " << mmap->filename();
335 uint32 pid = mmap->pid();
345 if (mmap->filename() != "") {
346 build_id_it = filename_to_build_id_.find(mmap->filename());
349 filename << std::hex << mmap->filename_md5_prefix();
357 &mmap->filename(), build_id, mmap->start(), mmap->start() + mmap->len(),
358 mmap->pgoff(), mmap->filename_md5_prefix());
376 handler_->MMap(mmap_context);
379 // If we ever see an MMAP starting at one of those locations, that should be
381 // This is true even if the old MMAP started at one of the locations, because
387 // Figure out whether this MMAP is the main executable.
388 // If there have been no previous MMAPs for this pid, then this MMAP is our
400 old_mapping->filename = &mmap->filename();
405 if (old_mapping == nullptr && !HasSuffixString(mmap->filename(), ".ko") &&
406 !HasSuffixString(mmap->filename(), ".so") &&
407 !IsDeletedSharedObject(mmap->filename()) &&
408 !IsVersionedSharedObject(mmap->filename()) &&
409 !IsVirtualMapping(mmap->filename()) &&
410 !HasPrefixString(mmap->filename(), kKernelPrefix)) {
411 if (!HasPrefixString(mmap->filename(), "/usr/bin") &&
412 !HasPrefixString(mmap->filename(), "/usr/sbin") &&
413 !HasSuffixString(mmap->filename(), "/sel_ldr")) {
414 LOG(INFO) << "guessing main for pid: " << pid << " " << mmap->filename();
421 HasPrefixString(mmap->filename(), kKernelPrefix)) {
466 VLOG(2) << "no sample mmap found for pid " << pid << " and ip " << ip;