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
_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits