Don't change the selected platform when creating the dummy target.

A dummy target is used by TargetList::CreateTargetInternal to prime newly
created targets. the first time this is done it creates the dummy target. The
dummy target is created with the host platform (See
TargetList::CreateDummyTarget) which results in switching the selected platform
back to the host platform even when creating a target for a different platform.
This change avoids changing the selected platform while creating the dummy
target to prevent this side effect.

Test Plan:
./dotest.py $DOTEST_OPTS -t -p TestCreateAfterAttach.py
Tests using process attach (e.g. TestCreateAfterAttach.py, TestHelloWorld.py)
now run successfully mac -> linux.

Differential Revision: http://reviews.llvm.org/D9712

llvm-svn: 237221
This commit is contained in:
Robert Flack 2015-05-13 00:39:24 +00:00
parent 4d1a3ef659
commit 8ec55a53a7
1 changed files with 2 additions and 2 deletions

View File

@ -300,7 +300,7 @@ TargetList::CreateTargetInternal (Debugger &debugger,
if (!platform_sp->IsCompatibleArchitecture(arch, false, &platform_arch))
{
platform_sp = Platform::GetPlatformForArchitecture(arch, &platform_arch);
if (platform_sp)
if (!is_dummy_target && platform_sp)
debugger.GetPlatformList().SetSelectedPlatform(platform_sp);
}
}
@ -312,7 +312,7 @@ TargetList::CreateTargetInternal (Debugger &debugger,
if (!platform_sp->IsCompatibleArchitecture(platform_arch, false, &fixed_platform_arch))
{
platform_sp = Platform::GetPlatformForArchitecture(platform_arch, &fixed_platform_arch);
if (platform_sp)
if (!is_dummy_target && platform_sp)
debugger.GetPlatformList().SetSelectedPlatform(platform_sp);
}
}