[Lldb-commits] [PATCH] D76471: Remap the target SDK directory to the host SDK directory

Adrian Prantl via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Tue Mar 31 18:45:03 PDT 2020


aprantl updated this revision to Diff 254071.
aprantl added a comment.

I just had an off-list conversation with @jingham were we discussed what should be Platform versus Host in detail. The resulting solution looks even more convoluted at first, but it actually solves a bunch of problems that I had with either of the previous proposals. Jim argued that an interface that retrieves an SDK for the target should live in PlatformDarwin, since we are querying something about a Darwin platform, and in principle, this interface should also be available if you are (hypothetically) debugging a macOS process from a Linux host, even if it isn't implemented at the time. However, the one concrete implementation that we have, the one that calls `xcrun` must live in HostInfoMacOSX, because xcrun doesn't anywhere else.

With this in mind I arrived at this version of the patch where the implementation lives in HostInfoMacOSX, but the interface lives in PlatformDarwin, which forwards to the host if an implementation exists. Let me (Pavel & Jim) know what you think about this variant!


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D76471/new/

https://reviews.llvm.org/D76471

Files:
  lldb/include/lldb/Core/Module.h
  lldb/include/lldb/Host/HostInfoBase.h
  lldb/include/lldb/Host/macosx/HostInfoMacOSX.h
  lldb/include/lldb/Target/Platform.h
  lldb/include/lldb/Utility/XcodeSDK.h
  lldb/source/Core/Module.cpp
  lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
  lldb/source/Plugins/Platform/MacOSX/PlatformAppleTVSimulator.h
  lldb/source/Plugins/Platform/MacOSX/PlatformAppleWatchSimulator.h
  lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
  lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
  lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp
  lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.h
  lldb/source/Plugins/Platform/MacOSX/PlatformRemoteDarwinDevice.h
  lldb/source/Plugins/Platform/MacOSX/PlatformiOSSimulator.h
  lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
  lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
  lldb/source/Utility/CMakeLists.txt
  lldb/source/Utility/XcodeSDK.cpp
  lldb/unittests/Platform/PlatformDarwinTest.cpp
  lldb/unittests/Utility/CMakeLists.txt
  lldb/unittests/Utility/XcodeSDKTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D76471.254071.patch
Type: text/x-patch
Size: 37834 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20200401/0930aec1/attachment-0001.bin>


More information about the lldb-commits mailing list