Merge "simpleperf: create one map for each jit symbol."
diff --git a/simpleperf/JITDebugReader.cpp b/simpleperf/JITDebugReader.cpp
index c4406c9..8c5386d 100644
--- a/simpleperf/JITDebugReader.cpp
+++ b/simpleperf/JITDebugReader.cpp
@@ -499,18 +499,6 @@
     if (!IsValidElfFileMagic(data.data(), jit_entry.symfile_size)) {
       continue;
     }
-    uint64_t min_addr = UINT64_MAX;
-    uint64_t max_addr = 0;
-    auto callback = [&](const ElfFileSymbol& symbol) {
-      min_addr = std::min(min_addr, symbol.vaddr);
-      max_addr = std::max(max_addr, symbol.vaddr + symbol.len);
-      LOG(VERBOSE) << "JITSymbol " << symbol.name << " at [" << std::hex << symbol.vaddr
-                   << " - " << (symbol.vaddr + symbol.len) << " with size " << symbol.len;
-    };
-    if (ParseSymbolsFromElfFileInMemory(data.data(), jit_entry.symfile_size, callback) !=
-        ElfStatus::NO_ERROR || min_addr >= max_addr) {
-      continue;
-    }
     std::unique_ptr<TemporaryFile> tmp_file = ScopedTempFiles::CreateTempFile(!keep_symfiles_);
     if (tmp_file == nullptr || !android::base::WriteFully(tmp_file->fd, data.data(),
                                                           jit_entry.symfile_size)) {
@@ -519,8 +507,13 @@
     if (keep_symfiles_) {
       tmp_file->DoNotRemove();
     }
-    debug_info->emplace_back(process.pid, jit_entry.timestamp, min_addr, max_addr - min_addr,
-                             tmp_file->path);
+    auto callback = [&](const ElfFileSymbol& symbol) {
+      LOG(VERBOSE) << "JITSymbol " << symbol.name << " at [" << std::hex << symbol.vaddr
+                   << " - " << (symbol.vaddr + symbol.len) << " with size " << symbol.len;
+      debug_info->emplace_back(process.pid, jit_entry.timestamp, symbol.vaddr, symbol.len,
+                               tmp_file->path);
+    };
+    ParseSymbolsFromElfFileInMemory(data.data(), jit_entry.symfile_size, callback);
   }
 }