This revision was automatically updated to reflect the committed changes. Closed by commit rGcd7a2bf94b69: [lldb] Don't set the OS for ARMGetSupportedArchitectureAtIndex (authored by JDevlieghere). Herald added a project: LLDB.
Changed prior to commit: https://reviews.llvm.org/D113159?vs=384624&id=385240#toc Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D113159/new/ https://reviews.llvm.org/D113159 Files: lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp Index: lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp =================================================================== --- lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp +++ lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp @@ -559,6 +559,15 @@ switch (core) { default: LLVM_FALLTHROUGH; + case ArchSpec::eCore_arm_arm64e: { + static const char *g_arm64e_compatible_archs[] = { + "arm64e", "arm64", "armv7", "armv7f", "armv7k", "armv7s", + "armv7m", "armv7em", "armv6m", "armv6", "armv5", "armv4", + "arm", "thumbv7", "thumbv7f", "thumbv7k", "thumbv7s", "thumbv7m", + "thumbv7em", "thumbv6m", "thumbv6", "thumbv5", "thumbv4t", "thumb", + }; + return {g_arm64e_compatible_archs}; + } case ArchSpec::eCore_arm_arm64: { static const char *g_arm64_compatible_archs[] = { "arm64", "armv7", "armv7f", "armv7k", "armv7s", "armv7m", @@ -654,38 +663,15 @@ /// processor. bool PlatformDarwin::ARMGetSupportedArchitectureAtIndex(uint32_t idx, ArchSpec &arch) { -#if TARGET_OS_OSX - if (IsHost()) { - if (idx == 0) { - arch.SetTriple("arm64e-apple-macosx"); - return true; - } else if (idx == 1) { - arch.SetTriple("arm64-apple-macosx"); - return true; - } - arch.Clear(); - return false; - } -#endif - -#if defined(TARGET_OS_TV) && TARGET_OS_TV == 1 -#define OSNAME "tvos" -#elif defined(TARGET_OS_WATCH) && TARGET_OS_WATCH == 1 -#define OSNAME "watchos" -#elif defined(TARGET_OS_BRIDGE) && TARGET_OS_BRIDGE == 1 -#define OSNAME "bridgeos" -#elif defined(TARGET_OS_OSX) && TARGET_OS_OSX == 1 -#define OSNAME "macosx" -#else -#define OSNAME "ios" -#endif - const ArchSpec system_arch = GetSystemArchitecture(); const ArchSpec::Core system_core = system_arch.GetCore(); + if (const char *compatible_arch = GetCompatibleArch(system_core, idx)) { - std::string triple = - llvm::formatv("{0}-apple-" OSNAME, compatible_arch).str(); + llvm::Triple triple; + triple.setArchName(compatible_arch); + triple.setVendor(llvm::Triple::VendorType::Apple); arch.SetTriple(triple); + return true; } arch.Clear();
Index: lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp =================================================================== --- lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp +++ lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp @@ -559,6 +559,15 @@ switch (core) { default: LLVM_FALLTHROUGH; + case ArchSpec::eCore_arm_arm64e: { + static const char *g_arm64e_compatible_archs[] = { + "arm64e", "arm64", "armv7", "armv7f", "armv7k", "armv7s", + "armv7m", "armv7em", "armv6m", "armv6", "armv5", "armv4", + "arm", "thumbv7", "thumbv7f", "thumbv7k", "thumbv7s", "thumbv7m", + "thumbv7em", "thumbv6m", "thumbv6", "thumbv5", "thumbv4t", "thumb", + }; + return {g_arm64e_compatible_archs}; + } case ArchSpec::eCore_arm_arm64: { static const char *g_arm64_compatible_archs[] = { "arm64", "armv7", "armv7f", "armv7k", "armv7s", "armv7m", @@ -654,38 +663,15 @@ /// processor. bool PlatformDarwin::ARMGetSupportedArchitectureAtIndex(uint32_t idx, ArchSpec &arch) { -#if TARGET_OS_OSX - if (IsHost()) { - if (idx == 0) { - arch.SetTriple("arm64e-apple-macosx"); - return true; - } else if (idx == 1) { - arch.SetTriple("arm64-apple-macosx"); - return true; - } - arch.Clear(); - return false; - } -#endif - -#if defined(TARGET_OS_TV) && TARGET_OS_TV == 1 -#define OSNAME "tvos" -#elif defined(TARGET_OS_WATCH) && TARGET_OS_WATCH == 1 -#define OSNAME "watchos" -#elif defined(TARGET_OS_BRIDGE) && TARGET_OS_BRIDGE == 1 -#define OSNAME "bridgeos" -#elif defined(TARGET_OS_OSX) && TARGET_OS_OSX == 1 -#define OSNAME "macosx" -#else -#define OSNAME "ios" -#endif - const ArchSpec system_arch = GetSystemArchitecture(); const ArchSpec::Core system_core = system_arch.GetCore(); + if (const char *compatible_arch = GetCompatibleArch(system_core, idx)) { - std::string triple = - llvm::formatv("{0}-apple-" OSNAME, compatible_arch).str(); + llvm::Triple triple; + triple.setArchName(compatible_arch); + triple.setVendor(llvm::Triple::VendorType::Apple); arch.SetTriple(triple); + return true; } arch.Clear();
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits