diff options
author | Hervé Poussineau <hpoussin@reactos.org> | 2024-12-27 01:43:19 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-27 08:43:19 +0800 |
commit | 5d529c32cc2d5342a0d183881b6c3023435ed5d3 (patch) | |
tree | 53a166251503134454a8a20402adaff71f03559d /llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp | |
parent | 7deaed975eecf78797649b731506478f3d6ccd59 (diff) | |
download | llvm-5d529c32cc2d5342a0d183881b6c3023435ed5d3.zip llvm-5d529c32cc2d5342a0d183881b6c3023435ed5d3.tar.gz llvm-5d529c32cc2d5342a0d183881b6c3023435ed5d3.tar.bz2 |
[llvm-lib] Handle MIPS architecture (#121007)
- add a test to check values for /machine argument
- add a test to check if machine is correctly inferred from inputs
Diffstat (limited to 'llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp')
-rw-r--r-- | llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp b/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp index 138d9fc..6ce06b4 100644 --- a/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp +++ b/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp @@ -171,6 +171,7 @@ static Expected<COFF::MachineTypes> getCOFFFileMachine(MemoryBufferRef MB) { uint16_t Machine = (*Obj)->getMachine(); if (Machine != COFF::IMAGE_FILE_MACHINE_I386 && Machine != COFF::IMAGE_FILE_MACHINE_AMD64 && + Machine != COFF::IMAGE_FILE_MACHINE_R4000 && Machine != COFF::IMAGE_FILE_MACHINE_ARMNT && !COFF::isAnyArm64(Machine)) { return createStringError(inconvertibleErrorCode(), "unknown machine: " + std::to_string(Machine)); @@ -195,6 +196,8 @@ static Expected<COFF::MachineTypes> getBitcodeFileMachine(MemoryBufferRef MB) { 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 createStringError(inconvertibleErrorCode(), "unknown arch in target triple: " + *TripleStr); |