Index: lldb/include/lldb/Utility/ArchSpec.h =================================================================== --- lldb/include/lldb/Utility/ArchSpec.h +++ lldb/include/lldb/Utility/ArchSpec.h @@ -101,6 +101,7 @@ eCore_arm_armv6, eCore_arm_armv6m, eCore_arm_armv7, + eCore_arm_armv7l, eCore_arm_armv7f, eCore_arm_armv7s, eCore_arm_armv7k, @@ -122,6 +123,7 @@ eCore_thumbv7em, eCore_arm_arm64, eCore_arm_armv8, + eCore_arm_armv8l, eCore_arm_arm64_32, eCore_arm_aarch64, Index: lldb/packages/Python/lldbsuite/test/lldbplatformutil.py =================================================================== --- lldb/packages/Python/lldbsuite/test/lldbplatformutil.py +++ lldb/packages/Python/lldbsuite/test/lldbplatformutil.py @@ -25,7 +25,7 @@ if arch in ['x86_64', 'i386']: test_case.expect("register read eax", substrs=['eax = 0x']) - elif arch in ['arm', 'armv7', 'armv7k']: + elif arch in ['arm', 'armv7', 'armv7k', 'armv8l', 'armv7l']: test_case.expect("register read r0", substrs=['r0 = 0x']) elif arch in ['aarch64', 'arm64', 'arm64e', 'arm64_32']: test_case.expect("register read x0", substrs=['x0 = 0x']) Index: lldb/packages/Python/lldbsuite/test/make/Makefile.rules =================================================================== --- lldb/packages/Python/lldbsuite/test/make/Makefile.rules +++ lldb/packages/Python/lldbsuite/test/make/Makefile.rules @@ -239,7 +239,7 @@ override ARCH := override ARCHFLAG := endif - ifeq "$(ARCH)" "arm" + ifeq "$(findstring arm,$(ARCH))" "arm" override ARCH := override ARCHFLAG := endif Index: lldb/source/Utility/ArchSpec.cpp =================================================================== --- lldb/source/Utility/ArchSpec.cpp +++ lldb/source/Utility/ArchSpec.cpp @@ -61,6 +61,8 @@ "armv6m"}, {eByteOrderLittle, 4, 2, 4, llvm::Triple::arm, ArchSpec::eCore_arm_armv7, "armv7"}, + {eByteOrderLittle, 4, 2, 4, llvm::Triple::arm, ArchSpec::eCore_arm_armv7l, + "armv7l"}, {eByteOrderLittle, 4, 2, 4, llvm::Triple::arm, ArchSpec::eCore_arm_armv7f, "armv7f"}, {eByteOrderLittle, 4, 2, 4, llvm::Triple::arm, ArchSpec::eCore_arm_armv7s, @@ -101,6 +103,8 @@ ArchSpec::eCore_arm_arm64, "arm64"}, {eByteOrderLittle, 8, 4, 4, llvm::Triple::aarch64, ArchSpec::eCore_arm_armv8, "armv8"}, + {eByteOrderLittle, 4, 2, 4, llvm::Triple::arm, + ArchSpec::eCore_arm_armv8l, "armv8l"}, {eByteOrderLittle, 4, 4, 4, llvm::Triple::aarch64_32, ArchSpec::eCore_arm_arm64_32, "arm64_32"}, {eByteOrderLittle, 8, 4, 4, llvm::Triple::aarch64, @@ -878,7 +882,7 @@ IsCompatibleMatch(other) && GetCore() == ArchSpec::eCore_arm_generic && other.GetCore() != ArchSpec::eCore_arm_generic) { m_core = other.GetCore(); - CoreUpdated(true); + CoreUpdated(false); } if (GetFlags() == 0) { SetFlags(other.GetFlags()); @@ -1202,6 +1206,8 @@ case ArchSpec::eCore_arm_armv7f: case ArchSpec::eCore_arm_armv7k: case ArchSpec::eCore_arm_armv7s: + case ArchSpec::eCore_arm_armv7l: + case ArchSpec::eCore_arm_armv8l: if (!enforce_exact_match) { if (core2 == ArchSpec::eCore_arm_generic) return true;