Skip to content

Commit 0a00d32

Browse files
[lldb] Add armv7a and armv8a ArchSpecs (#106433)
armv7a and armv8a are common names for the application subarch for arm. These names in particular are used in ChromeOS, Android, and a few other known applications. In ChromeOS, we encountered a bug where armv7a arch was not recognised and segfaulted when starting an executable on an arm32 device. Google Issue Tracker: https://issuetracker.google.com/361414339
1 parent 2ad782f commit 0a00d32

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

lldb/include/lldb/Utility/ArchSpec.h

+2
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ class ArchSpec {
123123
eCore_arm_armv6,
124124
eCore_arm_armv6m,
125125
eCore_arm_armv7,
126+
eCore_arm_armv7a,
126127
eCore_arm_armv7l,
127128
eCore_arm_armv7f,
128129
eCore_arm_armv7s,
@@ -145,6 +146,7 @@ class ArchSpec {
145146
eCore_thumbv7em,
146147
eCore_arm_arm64,
147148
eCore_arm_armv8,
149+
eCore_arm_armv8a,
148150
eCore_arm_armv8l,
149151
eCore_arm_arm64e,
150152
eCore_arm_arm64_32,

lldb/source/Utility/ArchSpec.cpp

+4
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ static const CoreDefinition g_core_definitions[] = {
6060
"armv6m"},
6161
{eByteOrderLittle, 4, 2, 4, llvm::Triple::arm, ArchSpec::eCore_arm_armv7,
6262
"armv7"},
63+
{eByteOrderLittle, 4, 2, 4, llvm::Triple::arm, ArchSpec::eCore_arm_armv7a,
64+
"armv7a"},
6365
{eByteOrderLittle, 4, 2, 4, llvm::Triple::arm, ArchSpec::eCore_arm_armv7l,
6466
"armv7l"},
6567
{eByteOrderLittle, 4, 2, 4, llvm::Triple::arm, ArchSpec::eCore_arm_armv7f,
@@ -102,6 +104,8 @@ static const CoreDefinition g_core_definitions[] = {
102104
ArchSpec::eCore_arm_arm64, "arm64"},
103105
{eByteOrderLittle, 8, 4, 4, llvm::Triple::aarch64,
104106
ArchSpec::eCore_arm_armv8, "armv8"},
107+
{eByteOrderLittle, 8, 4, 4, llvm::Triple::aarch64,
108+
ArchSpec::eCore_arm_armv8a, "armv8a"},
105109
{eByteOrderLittle, 4, 2, 4, llvm::Triple::arm, ArchSpec::eCore_arm_armv8l,
106110
"armv8l"},
107111
{eByteOrderLittle, 8, 4, 4, llvm::Triple::aarch64,

0 commit comments

Comments
 (0)