mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-19 13:26:45 +00:00
[llvm-dlltool] Handle MIPS R4000 architecture (#114621)
This commit is contained in:
parent
a0e1fcc093
commit
a72bfc5a1e
@ -133,6 +133,8 @@ static uint16_t getImgRelRelocation(MachineTypes Machine) {
|
||||
return IMAGE_REL_ARM64_ADDR32NB;
|
||||
case IMAGE_FILE_MACHINE_I386:
|
||||
return IMAGE_REL_I386_DIR32NB;
|
||||
case IMAGE_FILE_MACHINE_R4000:
|
||||
return IMAGE_REL_MIPS_REFWORDNB;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -79,6 +79,7 @@ MachineTypes getEmulation(StringRef S) {
|
||||
.Case("arm", IMAGE_FILE_MACHINE_ARMNT)
|
||||
.Case("arm64", IMAGE_FILE_MACHINE_ARM64)
|
||||
.Case("arm64ec", IMAGE_FILE_MACHINE_ARM64EC)
|
||||
.Case("r4000", IMAGE_FILE_MACHINE_R4000)
|
||||
.Default(IMAGE_FILE_MACHINE_UNKNOWN);
|
||||
}
|
||||
|
||||
@ -93,6 +94,8 @@ MachineTypes getMachine(Triple T) {
|
||||
case Triple::aarch64:
|
||||
return T.isWindowsArm64EC() ? COFF::IMAGE_FILE_MACHINE_ARM64EC
|
||||
: COFF::IMAGE_FILE_MACHINE_ARM64;
|
||||
case Triple::mipsel:
|
||||
return COFF::IMAGE_FILE_MACHINE_R4000;
|
||||
default:
|
||||
return COFF::IMAGE_FILE_MACHINE_UNKNOWN;
|
||||
}
|
||||
@ -173,7 +176,8 @@ int llvm::dlltoolDriverMain(llvm::ArrayRef<const char *> ArgsArr) {
|
||||
(!Args.hasArgNoClaim(OPT_d) && !Args.hasArgNoClaim(OPT_l))) {
|
||||
Table.printHelp(outs(), "llvm-dlltool [options] file...", "llvm-dlltool",
|
||||
false);
|
||||
llvm::outs() << "\nTARGETS: i386, i386:x86-64, arm, arm64, arm64ec\n";
|
||||
llvm::outs()
|
||||
<< "\nTARGETS: i386, i386:x86-64, arm, arm64, arm64ec, r4000\n";
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -6,6 +6,8 @@
|
||||
; RUN: llvm-readobj %t.a | FileCheck --check-prefix=ARM %s
|
||||
; RUN: llvm-dlltool -m arm64 -d %s -l %t.a
|
||||
; RUN: llvm-readobj %t.a | FileCheck --check-prefix=ARM64 %s
|
||||
; RUN: llvm-dlltool -m r4000 -d %s -l %t.a
|
||||
; RUN: llvm-readobj %t.a | FileCheck --check-prefix=MIPS %s
|
||||
|
||||
LIBRARY test.dll
|
||||
EXPORTS
|
||||
@ -15,3 +17,4 @@ TestFunction
|
||||
; X86_64: Format: COFF-x86-64
|
||||
; ARM: Format: COFF-ARM{{$}}
|
||||
; ARM64: Format: COFF-ARM64
|
||||
; MIPS: Format: COFF-MIPS
|
||||
|
Loading…
x
Reference in New Issue
Block a user