[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)
  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)
  if (!platform_sp)
      platform_sp = debugger.GetPlatformList().GetSelectedPlatform();

What do you think, Greg - return an error, or use the current (incompatible) platform?



More information about the lldb-commits mailing list