forked from OSchip/llvm-project
Move the ARM specific arch picker from PlatformRemoteiOS.cpp to
PlatformDarwin.cpp -- call it from both PlatformRemoteiOS.cpp and the native process PlatformDarwin.cpp when running on an arm system. Bump lldb version number to 94. llvm-svn: 146249
This commit is contained in:
parent
941aae0e9d
commit
d74db47a41
|
|
@ -3736,9 +3736,9 @@
|
|||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 93;
|
||||
CURRENT_PROJECT_VERSION = 94;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 93;
|
||||
DYLIB_CURRENT_VERSION = 94;
|
||||
EXPORTED_SYMBOLS_FILE = "resources/lldb-framework-exports";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
|
|
@ -3797,10 +3797,10 @@
|
|||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 93;
|
||||
CURRENT_PROJECT_VERSION = 94;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 93;
|
||||
DYLIB_CURRENT_VERSION = 94;
|
||||
EXPORTED_SYMBOLS_FILE = "resources/lldb-framework-exports";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
|
|
@ -3857,8 +3857,8 @@
|
|||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 93;
|
||||
DYLIB_CURRENT_VERSION = 93;
|
||||
CURRENT_PROJECT_VERSION = 94;
|
||||
DYLIB_CURRENT_VERSION = 94;
|
||||
EXECUTABLE_EXTENSION = a;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
|
|
@ -3887,8 +3887,8 @@
|
|||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 93;
|
||||
DYLIB_CURRENT_VERSION = 93;
|
||||
CURRENT_PROJECT_VERSION = 94;
|
||||
DYLIB_CURRENT_VERSION = 94;
|
||||
EXECUTABLE_EXTENSION = a;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
|
|
@ -3917,8 +3917,8 @@
|
|||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 93;
|
||||
DYLIB_CURRENT_VERSION = 93;
|
||||
CURRENT_PROJECT_VERSION = 94;
|
||||
DYLIB_CURRENT_VERSION = 94;
|
||||
EXECUTABLE_EXTENSION = a;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
|
|
@ -3995,7 +3995,7 @@
|
|||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
COPY_PHASE_STRIP = YES;
|
||||
CURRENT_PROJECT_VERSION = 93;
|
||||
CURRENT_PROJECT_VERSION = 94;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"",
|
||||
|
|
@ -4025,10 +4025,10 @@
|
|||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
COPY_PHASE_STRIP = YES;
|
||||
CURRENT_PROJECT_VERSION = 93;
|
||||
CURRENT_PROJECT_VERSION = 94;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 93;
|
||||
DYLIB_CURRENT_VERSION = 94;
|
||||
EXPORTED_SYMBOLS_FILE = "resources/lldb-framework-exports";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
|
|
@ -4272,7 +4272,7 @@
|
|||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 93;
|
||||
CURRENT_PROJECT_VERSION = 94;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"",
|
||||
|
|
@ -4303,7 +4303,7 @@
|
|||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
COPY_PHASE_STRIP = YES;
|
||||
CURRENT_PROJECT_VERSION = 93;
|
||||
CURRENT_PROJECT_VERSION = 94;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"",
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>93</string>
|
||||
<string>94</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
</dict>
|
||||
|
|
|
|||
|
|
@ -501,3 +501,114 @@ PlatformDarwin::ModuleIsExcludedForNonModuleSpecificSearches (lldb_private::Targ
|
|||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// The architecture selection rules for arm processors
|
||||
// These cpu subtypes have distinct names (e.g. armv7f) but armv7 binaries run fine on an armv7f processor.
|
||||
|
||||
bool
|
||||
PlatformDarwin::ARMGetSupportedArchitectureAtIndex (uint32_t idx, ArchSpec &arch)
|
||||
{
|
||||
ArchSpec system_arch (GetSystemArchitecture());
|
||||
const ArchSpec::Core system_core = system_arch.GetCore();
|
||||
switch (system_core)
|
||||
{
|
||||
default:
|
||||
switch (idx)
|
||||
{
|
||||
case 0: arch.SetTriple ("armv7-apple-darwin", NULL); return true;
|
||||
case 1: arch.SetTriple ("armv7f-apple-darwin", NULL); return true;
|
||||
case 2: arch.SetTriple ("armv7k-apple-darwin", NULL); return true;
|
||||
case 3: arch.SetTriple ("armv7s-apple-darwin", NULL); return true;
|
||||
case 4: arch.SetTriple ("armv6-apple-darwin", NULL); return true;
|
||||
case 5: arch.SetTriple ("armv5-apple-darwin", NULL); return true;
|
||||
case 6: arch.SetTriple ("armv4-apple-darwin", NULL); return true;
|
||||
case 7: arch.SetTriple ("arm-apple-darwin", NULL); return true;
|
||||
default: break;
|
||||
}
|
||||
break;
|
||||
|
||||
case ArchSpec::eCore_arm_armv7f:
|
||||
switch (idx)
|
||||
{
|
||||
case 0: arch.SetTriple ("armv7f-apple-darwin", NULL); return true;
|
||||
case 1: arch.SetTriple ("armv7-apple-darwin", NULL); return true;
|
||||
case 2: arch.SetTriple ("armv6-apple-darwin", NULL); return true;
|
||||
case 3: arch.SetTriple ("armv5-apple-darwin", NULL); return true;
|
||||
case 4: arch.SetTriple ("armv4-apple-darwin", NULL); return true;
|
||||
case 5: arch.SetTriple ("arm-apple-darwin", NULL); return true;
|
||||
default: break;
|
||||
}
|
||||
break;
|
||||
|
||||
case ArchSpec::eCore_arm_armv7k:
|
||||
switch (idx)
|
||||
{
|
||||
case 0: arch.SetTriple ("armv7k-apple-darwin", NULL); return true;
|
||||
case 1: arch.SetTriple ("armv7-apple-darwin", NULL); return true;
|
||||
case 2: arch.SetTriple ("armv6-apple-darwin", NULL); return true;
|
||||
case 3: arch.SetTriple ("armv5-apple-darwin", NULL); return true;
|
||||
case 4: arch.SetTriple ("armv4-apple-darwin", NULL); return true;
|
||||
case 5: arch.SetTriple ("arm-apple-darwin", NULL); return true;
|
||||
default: break;
|
||||
}
|
||||
break;
|
||||
|
||||
case ArchSpec::eCore_arm_armv7s:
|
||||
switch (idx)
|
||||
{
|
||||
case 0: arch.SetTriple ("armv7s-apple-darwin", NULL); return true;
|
||||
case 1: arch.SetTriple ("armv7-apple-darwin", NULL); return true;
|
||||
case 2: arch.SetTriple ("armv6-apple-darwin", NULL); return true;
|
||||
case 3: arch.SetTriple ("armv5-apple-darwin", NULL); return true;
|
||||
case 4: arch.SetTriple ("armv4-apple-darwin", NULL); return true;
|
||||
case 5: arch.SetTriple ("arm-apple-darwin", NULL); return true;
|
||||
default: break;
|
||||
}
|
||||
break;
|
||||
|
||||
case ArchSpec::eCore_arm_armv7:
|
||||
switch (idx)
|
||||
{
|
||||
case 0: arch.SetTriple ("armv7-apple-darwin", NULL); return true;
|
||||
case 1: arch.SetTriple ("armv6-apple-darwin", NULL); return true;
|
||||
case 2: arch.SetTriple ("armv5-apple-darwin", NULL); return true;
|
||||
case 3: arch.SetTriple ("armv4-apple-darwin", NULL); return true;
|
||||
case 4: arch.SetTriple ("arm-apple-darwin", NULL); return true;
|
||||
default: break;
|
||||
}
|
||||
break;
|
||||
|
||||
case ArchSpec::eCore_arm_armv6:
|
||||
switch (idx)
|
||||
{
|
||||
case 0: arch.SetTriple ("armv6-apple-darwin", NULL); return true;
|
||||
case 1: arch.SetTriple ("armv5-apple-darwin", NULL); return true;
|
||||
case 2: arch.SetTriple ("armv4-apple-darwin", NULL); return true;
|
||||
case 3: arch.SetTriple ("arm-apple-darwin", NULL); return true;
|
||||
default: break;
|
||||
}
|
||||
break;
|
||||
|
||||
case ArchSpec::eCore_arm_armv5:
|
||||
switch (idx)
|
||||
{
|
||||
case 0: arch.SetTriple ("armv5-apple-darwin", NULL); return true;
|
||||
case 1: arch.SetTriple ("armv4-apple-darwin", NULL); return true;
|
||||
case 2: arch.SetTriple ("arm-apple-darwin", NULL); return true;
|
||||
default: break;
|
||||
}
|
||||
break;
|
||||
|
||||
case ArchSpec::eCore_arm_armv4:
|
||||
switch (idx)
|
||||
{
|
||||
case 0: arch.SetTriple ("armv4-apple-darwin", NULL); return true;
|
||||
case 1: arch.SetTriple ("arm-apple-darwin", NULL); return true;
|
||||
default: break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
arch.Clear();
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -88,6 +88,8 @@ public:
|
|||
virtual bool
|
||||
ModuleIsExcludedForNonModuleSpecificSearches (lldb_private::Target &target, const lldb::ModuleSP &module_sp);
|
||||
|
||||
bool ARMGetSupportedArchitectureAtIndex (uint32_t idx, lldb_private::ArchSpec &arch);
|
||||
|
||||
protected:
|
||||
lldb::PlatformSP m_remote_platform_sp; // Allow multiple ways to connect to a remote darwin OS
|
||||
|
||||
|
|
|
|||
|
|
@ -178,6 +178,10 @@ PlatformMacOSX::GetSharedModule (const FileSpec &platform_file,
|
|||
bool
|
||||
PlatformMacOSX::GetSupportedArchitectureAtIndex (uint32_t idx, ArchSpec &arch)
|
||||
{
|
||||
#if defined (__arm__)
|
||||
return ARMGetSupportedArchitectureAtIndex (idx, arch);
|
||||
#endif
|
||||
|
||||
if (idx == 0)
|
||||
{
|
||||
arch = Host::GetArchitecture (Host::eSystemDefaultArchitecture);
|
||||
|
|
@ -199,4 +203,3 @@ PlatformMacOSX::GetSupportedArchitectureAtIndex (uint32_t idx, ArchSpec &arch)
|
|||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -485,106 +485,5 @@ PlatformRemoteiOS::GetProcessInfo (lldb::pid_t pid, ProcessInstanceInfo &process
|
|||
bool
|
||||
PlatformRemoteiOS::GetSupportedArchitectureAtIndex (uint32_t idx, ArchSpec &arch)
|
||||
{
|
||||
ArchSpec system_arch (GetSystemArchitecture());
|
||||
const ArchSpec::Core system_core = system_arch.GetCore();
|
||||
switch (system_core)
|
||||
{
|
||||
default:
|
||||
switch (idx)
|
||||
{
|
||||
case 0: arch.SetTriple ("armv7-apple-darwin", NULL); return true;
|
||||
case 1: arch.SetTriple ("armv7f-apple-darwin", NULL); return true;
|
||||
case 2: arch.SetTriple ("armv7k-apple-darwin", NULL); return true;
|
||||
case 3: arch.SetTriple ("armv7s-apple-darwin", NULL); return true;
|
||||
case 4: arch.SetTriple ("armv6-apple-darwin", NULL); return true;
|
||||
case 5: arch.SetTriple ("armv5-apple-darwin", NULL); return true;
|
||||
case 6: arch.SetTriple ("armv4-apple-darwin", NULL); return true;
|
||||
case 7: arch.SetTriple ("arm-apple-darwin", NULL); return true;
|
||||
default: break;
|
||||
}
|
||||
break;
|
||||
|
||||
case ArchSpec::eCore_arm_armv7f:
|
||||
switch (idx)
|
||||
{
|
||||
case 0: arch.SetTriple ("armv7f-apple-darwin", NULL); return true;
|
||||
case 1: arch.SetTriple ("armv7-apple-darwin", NULL); return true;
|
||||
case 2: arch.SetTriple ("armv6-apple-darwin", NULL); return true;
|
||||
case 3: arch.SetTriple ("armv5-apple-darwin", NULL); return true;
|
||||
case 4: arch.SetTriple ("armv4-apple-darwin", NULL); return true;
|
||||
case 5: arch.SetTriple ("arm-apple-darwin", NULL); return true;
|
||||
default: break;
|
||||
}
|
||||
break;
|
||||
|
||||
case ArchSpec::eCore_arm_armv7k:
|
||||
switch (idx)
|
||||
{
|
||||
case 0: arch.SetTriple ("armv7k-apple-darwin", NULL); return true;
|
||||
case 1: arch.SetTriple ("armv7-apple-darwin", NULL); return true;
|
||||
case 2: arch.SetTriple ("armv6-apple-darwin", NULL); return true;
|
||||
case 3: arch.SetTriple ("armv5-apple-darwin", NULL); return true;
|
||||
case 4: arch.SetTriple ("armv4-apple-darwin", NULL); return true;
|
||||
case 5: arch.SetTriple ("arm-apple-darwin", NULL); return true;
|
||||
default: break;
|
||||
}
|
||||
break;
|
||||
|
||||
case ArchSpec::eCore_arm_armv7s:
|
||||
switch (idx)
|
||||
{
|
||||
case 0: arch.SetTriple ("armv7s-apple-darwin", NULL); return true;
|
||||
case 1: arch.SetTriple ("armv7-apple-darwin", NULL); return true;
|
||||
case 2: arch.SetTriple ("armv6-apple-darwin", NULL); return true;
|
||||
case 3: arch.SetTriple ("armv5-apple-darwin", NULL); return true;
|
||||
case 4: arch.SetTriple ("armv4-apple-darwin", NULL); return true;
|
||||
case 5: arch.SetTriple ("arm-apple-darwin", NULL); return true;
|
||||
default: break;
|
||||
}
|
||||
break;
|
||||
|
||||
case ArchSpec::eCore_arm_armv7:
|
||||
switch (idx)
|
||||
{
|
||||
case 0: arch.SetTriple ("armv7-apple-darwin", NULL); return true;
|
||||
case 1: arch.SetTriple ("armv6-apple-darwin", NULL); return true;
|
||||
case 2: arch.SetTriple ("armv5-apple-darwin", NULL); return true;
|
||||
case 3: arch.SetTriple ("armv4-apple-darwin", NULL); return true;
|
||||
case 4: arch.SetTriple ("arm-apple-darwin", NULL); return true;
|
||||
default: break;
|
||||
}
|
||||
break;
|
||||
|
||||
case ArchSpec::eCore_arm_armv6:
|
||||
switch (idx)
|
||||
{
|
||||
case 0: arch.SetTriple ("armv6-apple-darwin", NULL); return true;
|
||||
case 1: arch.SetTriple ("armv5-apple-darwin", NULL); return true;
|
||||
case 2: arch.SetTriple ("armv4-apple-darwin", NULL); return true;
|
||||
case 3: arch.SetTriple ("arm-apple-darwin", NULL); return true;
|
||||
default: break;
|
||||
}
|
||||
break;
|
||||
|
||||
case ArchSpec::eCore_arm_armv5:
|
||||
switch (idx)
|
||||
{
|
||||
case 0: arch.SetTriple ("armv5-apple-darwin", NULL); return true;
|
||||
case 1: arch.SetTriple ("armv4-apple-darwin", NULL); return true;
|
||||
case 2: arch.SetTriple ("arm-apple-darwin", NULL); return true;
|
||||
default: break;
|
||||
}
|
||||
break;
|
||||
|
||||
case ArchSpec::eCore_arm_armv4:
|
||||
switch (idx)
|
||||
{
|
||||
case 0: arch.SetTriple ("armv4-apple-darwin", NULL); return true;
|
||||
case 1: arch.SetTriple ("arm-apple-darwin", NULL); return true;
|
||||
default: break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
arch.Clear();
|
||||
return false;
|
||||
return ARMGetSupportedArchitectureAtIndex (idx, arch);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue