[Lldb-commits] [PATCH] D12303: Fix for dotest.py ERRORs on OSX caused by svn rev.237053.
Ted Woodward via lldb-commits
lldb-commits at lists.llvm.org
Tue Aug 25 12:26:31 PDT 2015
ted added a comment.
My guess is the target create is failing. This line in the test:
target = self.dbg.CreateTargetWithFileAndTargetTriple ("", "thumbv7")
Seems to be the same as:
target create -a thumbv7 ""
On my Linux box, I get this:
(lldb) target create -a thumbv7 ""
Current executable set to '' (arm).
(lldb) target list
Current targets:
* target #0: <none> ( arch=arm--linux, platform=remote-linux )
My guess is LLDB on OSX doesn't have a platform that would handle a "thumbv7" target, so the target create fails.
Perhaps LLDB should stick with the selected platform if it's valid and it can't find a platform that is compatible with the target. Something like:
if (!prefer_platform_arch && arch.IsValid())
{
if (!platform_sp->IsCompatibleArchitecture(arch, false, &platform_arch))
{
platform_sp = Platform::GetPlatformForArchitecture(arch, &platform_arch);
if (!is_dummy_target && platform_sp)
debugger.GetPlatformList().SetSelectedPlatform(platform_sp);
}
}
else if (platform_arch.IsValid())
{
// if "arch" isn't valid, yet "platform_arch" is, it means we have an executable file with
// a single architecture which should be used
ArchSpec fixed_platform_arch;
if (!platform_sp->IsCompatibleArchitecture(platform_arch, false, &fixed_platform_arch))
{
platform_sp = Platform::GetPlatformForArchitecture(platform_arch, &fixed_platform_arch);
if (!is_dummy_target && platform_sp)
debugger.GetPlatformList().SetSelectedPlatform(platform_sp);
}
}
if (!platform_sp)
platform_sp = debugger.GetPlatformList().GetSelectedPlatform();
What do you think, Greg - return an error, or use the current (incompatible) platform?
Repository:
rL LLVM
http://reviews.llvm.org/D12303
More information about the lldb-commits
mailing list