llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang
Author: mojyack (mojyack)
<details>
<summary>Changes</summary>
Add `mips{,el,64,64el}-unknown-elf` to the set of triples claimed by the
BareMetal toolchain, mirroring the existing handling for
`riscv{32,64}-unknown-elf`, `x86{,_64}-unknown-elf`, and
`powerpc*-unknown-eabi`.
This is required for creating RockBox LLVM port (see
https://gerrit.rockbox.org/r/c/rockbox/+/7466).
---
Full diff: https://github.com/llvm/llvm-project/pull/196322.diff
1 Files Affected:
- (modified) clang/lib/Driver/ToolChains/BareMetal.cpp (+8-1)
``````````diff
diff --git a/clang/lib/Driver/ToolChains/BareMetal.cpp
b/clang/lib/Driver/ToolChains/BareMetal.cpp
index 3ba592666647a..5f489a68b36fc 100644
--- a/clang/lib/Driver/ToolChains/BareMetal.cpp
+++ b/clang/lib/Driver/ToolChains/BareMetal.cpp
@@ -55,6 +55,12 @@ static bool isX86BareMetal(const llvm::Triple &Triple) {
Triple.getEnvironmentName() == "elf";
}
+/// Is the triple mips{,el,64,64el}-*-none-elf?
+static bool isMIPSBareMetal(const llvm::Triple &Triple) {
+ return Triple.isMIPS() && Triple.getOS() == llvm::Triple::UnknownOS &&
+ Triple.getEnvironmentName() == "elf";
+}
+
static bool findRISCVMultilibs(const Driver &D,
const llvm::Triple &TargetTriple,
const ArgList &Args, DetectedMultilibs &Result)
{
@@ -281,7 +287,8 @@ void BareMetal::findMultilibs(const Driver &D, const
llvm::Triple &Triple,
bool BareMetal::handlesTarget(const llvm::Triple &Triple) {
return arm::isARMEABIBareMetal(Triple) ||
aarch64::isAArch64BareMetal(Triple) || isRISCVBareMetal(Triple) ||
- isPPCBareMetal(Triple) || isX86BareMetal(Triple);
+ isPPCBareMetal(Triple) || isX86BareMetal(Triple) ||
+ isMIPSBareMetal(Triple);
}
Tool *BareMetal::buildLinker() const {
``````````
</details>
https://github.com/llvm/llvm-project/pull/196322
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits