Skip to content

Commit 2509fdf

Browse files
authored
LoongArch64: initial the coredistools supporting LA64. (#367)
LoongArch64: initial the coredistools supporting LA64.
1 parent 30bbb26 commit 2509fdf

File tree

3 files changed

+14
-1
lines changed

3 files changed

+14
-1
lines changed

build-coredistools.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,12 @@ case "$TargetOSArchitecture" in
3333
LLVMHostTriple=x86_64-linux-gnu
3434
;;
3535

36+
linux-loongarch64)
37+
CMakeCrossCompiling=OFF
38+
LLVMHostTriple=loongarch64-linux-gnu
39+
LLVMTargetsToBuild="LoongArch"
40+
;;
41+
3642
osx-arm64)
3743
CMakeCrossCompiling=ON
3844
CMakeOSXArchitectures=arm64

src/coredistools/coredistools.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,9 @@ bool CorDisasm::setTarget() {
284284
case Triple::aarch64:
285285
TheTargetArch = Target_Arm64;
286286
break;
287+
case Triple::loongarch64:
288+
TheTargetArch = Target_LoongArch64;
289+
break;
287290
default:
288291
Print->Error("Unsupported Architecture: %s\n",
289292
Triple::getArchTypeName(TheTriple->getArch()));
@@ -304,6 +307,9 @@ bool CorDisasm::setTarget() {
304307
case Target_X64:
305308
TheTriple->setArch(Triple::x86_64);
306309
break;
310+
case Target_LoongArch64:
311+
TheTriple->setArch(Triple::loongarch64);
312+
break;
307313
default:
308314
Print->Error("Unsupported Architecture: %s\n",
309315
Triple::getArchTypeName(TheTriple->getArch()));

src/coredistools/coredistools.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ enum TargetArch {
4141
Target_X86,
4242
Target_X64,
4343
Target_Thumb,
44-
Target_Arm64
44+
Target_Arm64,
45+
Target_LoongArch64
4546
};
4647

4748
struct CorDisasm;

0 commit comments

Comments
 (0)