Fix TestLoadUnload.test_load_unload for android API > 21

* Change Module::MatchesModuleSpec to return true in case the file spec
  in the specified module spec matches with the platform file spec, but
  not with the local file spec
* Change the module_resolver used when resolving a remote shared module
  to always set the platform file spec to the file spec requested

Differential revision: http://reviews.llvm.org/D12601

llvm-svn: 246852
This commit is contained in:
Tamas Berghammer 2015-09-04 12:42:41 +00:00
parent a67b2d0117
commit 980662ee9d
2 changed files with 6 additions and 2 deletions

View File

@ -1708,7 +1708,8 @@ Module::MatchesModuleSpec (const ModuleSpec &module_ref)
const FileSpec &file_spec = module_ref.GetFileSpec();
if (file_spec)
{
if (!FileSpec::Equal (file_spec, m_file, (bool)file_spec.GetDirectory()))
if (!FileSpec::Equal (file_spec, m_file, (bool)file_spec.GetDirectory()) &&
!FileSpec::Equal (file_spec, m_platform_file, (bool)file_spec.GetDirectory()))
return false;
}

View File

@ -272,8 +272,11 @@ Platform::GetSharedModule (const ModuleSpec &module_spec,
module_sp,
[&](const ModuleSpec &spec)
{
return ModuleList::GetSharedModule (
Error error = ModuleList::GetSharedModule (
spec, module_sp, module_search_paths_ptr, old_module_sp_ptr, did_create_ptr, false);
if (error.Success() && module_sp)
module_sp->SetPlatformFileSpec(spec.GetFileSpec());
return error;
},
did_create_ptr);
}