Skip to content

Commit 39c4e2d

Browse files
committed
[llvm-dlltool] Handle MIPS architecture
1 parent 0575815 commit 39c4e2d

File tree

3 files changed

+7
-1
lines changed

3 files changed

+7
-1
lines changed

llvm/lib/Object/COFFImportFile.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,8 @@ static uint16_t getImgRelRelocation(MachineTypes Machine) {
133133
return IMAGE_REL_ARM64_ADDR32NB;
134134
case IMAGE_FILE_MACHINE_I386:
135135
return IMAGE_REL_I386_DIR32NB;
136+
case IMAGE_FILE_MACHINE_R4000:
137+
return IMAGE_REL_MIPS_REFWORDNB;
136138
}
137139
}
138140

llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ MachineTypes getEmulation(StringRef S) {
7979
.Case("arm", IMAGE_FILE_MACHINE_ARMNT)
8080
.Case("arm64", IMAGE_FILE_MACHINE_ARM64)
8181
.Case("arm64ec", IMAGE_FILE_MACHINE_ARM64EC)
82+
.Case("mips", IMAGE_FILE_MACHINE_R4000)
8283
.Default(IMAGE_FILE_MACHINE_UNKNOWN);
8384
}
8485

@@ -173,7 +174,7 @@ int llvm::dlltoolDriverMain(llvm::ArrayRef<const char *> ArgsArr) {
173174
(!Args.hasArgNoClaim(OPT_d) && !Args.hasArgNoClaim(OPT_l))) {
174175
Table.printHelp(outs(), "llvm-dlltool [options] file...", "llvm-dlltool",
175176
false);
176-
llvm::outs() << "\nTARGETS: i386, i386:x86-64, arm, arm64, arm64ec\n";
177+
llvm::outs() << "\nTARGETS: i386, i386:x86-64, arm, arm64, arm64ec, mips\n";
177178
return 1;
178179
}
179180

llvm/test/tools/llvm-dlltool/machine-opt.def

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
; RUN: llvm-readobj %t.a | FileCheck --check-prefix=ARM %s
77
; RUN: llvm-dlltool -m arm64 -d %s -l %t.a
88
; RUN: llvm-readobj %t.a | FileCheck --check-prefix=ARM64 %s
9+
; RUN: llvm-dlltool -m mips -d %s -l %t.a
10+
; RUN: llvm-readobj %t.a | FileCheck --check-prefix=MIPS %s
911

1012
LIBRARY test.dll
1113
EXPORTS
@@ -15,3 +17,4 @@ TestFunction
1517
; X86_64: Format: COFF-x86-64
1618
; ARM: Format: COFF-ARM{{$}}
1719
; ARM64: Format: COFF-ARM64
20+
; MIPS: Format: COFF-MIPS

0 commit comments

Comments
 (0)