Download symbol file for .oat files on android
On android .oat files (compiled java code) don't have symbol
information but on SDK 23+ it can be generated by the oatdump tool
(based on the dex information).
This CL adds logic to download this information and store it in the
module cache.
Differential revision: http://reviews.llvm.org/D11936
llvm-svn: 244738
diff --git a/lldb/source/Target/Platform.cpp b/lldb/source/Target/Platform.cpp
index 2b58693..cbf052e 100644
--- a/lldb/source/Target/Platform.cpp
+++ b/lldb/source/Target/Platform.cpp
@@ -1811,7 +1811,7 @@
{
// Try to get module information from the process
if (process->GetModuleSpec (module_spec.GetFileSpec (), module_spec.GetArchitecture (), resolved_module_spec))
- got_module_spec = true;
+ got_module_spec = true;
}
if (!got_module_spec)
@@ -1848,7 +1848,7 @@
GetModuleCacheRoot (),
GetCacheHostname (),
module_spec,
- [=](const ModuleSpec &module_spec, const FileSpec &tmp_download_file_spec)
+ [this](const ModuleSpec &module_spec, const FileSpec &tmp_download_file_spec)
{
return DownloadModuleSlice (module_spec.GetFileSpec (),
module_spec.GetObjectOffset (),
@@ -1856,6 +1856,10 @@
tmp_download_file_spec);
},
+ [this](const ModuleSP& module_sp, const FileSpec& tmp_download_file_spec)
+ {
+ return DownloadSymbolFile (module_sp, tmp_download_file_spec);
+ },
module_sp,
did_create_ptr);
if (error.Success ())
@@ -1918,6 +1922,12 @@
return error;
}
+Error
+Platform::DownloadSymbolFile (const lldb::ModuleSP& module_sp, const FileSpec& dst_file_spec)
+{
+ return Error ("Symbol file downloading not supported by the default platform.");
+}
+
FileSpec
Platform::GetModuleCacheRoot ()
{