HomePhabricator

[lldb] Change the xcrun (fallback) logic in GetXcodeSDK

Authored by JDevlieghere on Oct 6 2020, 3:12 PM.

Description

[lldb] Change the xcrun (fallback) logic in GetXcodeSDK

This changes the logic in GetXcodeSDK to find an SDK with xcrun. The
code now executes the following steps:

  1. If DEVELOPER_DIR is set in the environment, it invokes xcrun with the given developer dir. If this fails we stop and don't fall back.
  2. If the shlib dir is set and exists,it invokes xcrun with the developer dir corresponding to the shlib dir. If this fails we fall back to 3.
  3. We run xcrun without a developer dir.

The new behavior introduced in this patch is that we fall back to
running xcrun without a developer dir if running it based on the shlib
dir failed.

A situation where this matters is when you're running lldb from an Xcode
that has no SDKs and that is not xcode-selected. Based on lldb's shlib
dir pointing into this Xcode installation, it will do an xcrun with the
developer set to the Xcode without any SDKs which will fail. With this
patch, when that happens, we'll fall back to trying the xcode-selected
Xcode by running xcrun without a developer dir.

Differential revision: https://reviews.llvm.org/D88866

Details

Committed
JDevlieghereOct 6 2020, 3:55 PM
Differential Revision
D88866: [lldb] Add another fallback to GetXcodeSDK
Parents
rGdfa70a483aad: [gn build] manually port 5e4409f308177
Branches
Unknown
Tags
Unknown