Add a flag to distinguish shared VMAs

This flag is required to filter out shared VMAs when compacting memory
using process_madvise.

Test: built and flashed
Bug: 173258203

Change-Id: I58e33d4d2cef2e299e9bd2a2724246830842f789
diff --git a/src/profiling/common/unwind_support.cc b/src/profiling/common/unwind_support.cc
index dee50de..4a1937d 100644
--- a/src/profiling/common/unwind_support.cc
+++ b/src/profiling/common/unwind_support.cc
@@ -69,15 +69,16 @@
   unwindstack::MapInfo* prev_map = nullptr;
   unwindstack::MapInfo* prev_real_map = nullptr;
   return android::procinfo::ReadMapFileContent(
-      &content[0], [&](uint64_t start, uint64_t end, uint16_t flags,
-                       uint64_t pgoff, ino_t, const char* name) {
+      &content[0], [&](const android::procinfo::MapInfo& mapinfo) {
         // Mark a device map in /dev/ and not in /dev/ashmem/ specially.
-        if (strncmp(name, "/dev/", 5) == 0 &&
-            strncmp(name + 5, "ashmem/", 7) != 0) {
+        auto flags = mapinfo.flags;
+        if (strncmp(mapinfo.name.c_str(), "/dev/", 5) == 0 &&
+            strncmp(mapinfo.name.c_str() + 5, "ashmem/", 7) != 0) {
           flags |= unwindstack::MAPS_FLAGS_DEVICE_MAP;
         }
         maps_.emplace_back(new unwindstack::MapInfo(
-            prev_map, prev_real_map, start, end, pgoff, flags, name));
+            prev_map, prev_real_map, mapinfo.start, mapinfo.end, mapinfo.pgoff,
+            flags, mapinfo.name));
         prev_map = maps_.back().get();
         if (!prev_map->IsBlank()) {
           prev_real_map = prev_map;