Move map data into backtrace data proper.

The backtrace structure used to include a pointer to a backtrace_map_t
that represented the map data for a particular pc. This introduced a
race condition where the pointer could be discarded, but the backtrace
structure still contained a pointer to garbage memory. Now all of the map
information is right in the structure.

Bug: 19028453
Change-Id: If7088a73f3c6bf1f3bc8cdd2bb4b62e7cab831c0
diff --git a/debuggerd/tombstone.cpp b/debuggerd/tombstone.cpp
index 38e9d17..11a15d6 100644
--- a/debuggerd/tombstone.cpp
+++ b/debuggerd/tombstone.cpp
@@ -240,12 +240,13 @@
       break;
     }
 
-    const backtrace_map_t* map = backtrace->FindMap(stack_content);
+    backtrace_map_t map;
+    backtrace->FillInMap(stack_content, &map);
     const char* map_name;
-    if (!map) {
+    if (BacktraceMap::IsValid(map)) {
       map_name = "";
     } else {
-      map_name = map->name.c_str();
+      map_name = map.name.c_str();
     }
     uintptr_t offset = 0;
     std::string func_name(backtrace->GetFunctionName(stack_content, &offset));