mirror of
https://git.proxmox.com/git/llvm-toolchain
synced 2025-06-18 23:29:04 +00:00

* Add support for riscv64: - Always link with -latomic on riscv64. - patches/clang-riscv64-multiarch.diff: add multiarch paths for riscv64. - patches/clang-riscv64-rv64gc.diff: default to lp64d ABI and rv64gc ISA. - patches/libcxx/libcxx-riscv64-cycletimer.diff: backport riscv64 cycletimer support from upstream.
35 lines
1.5 KiB
Diff
35 lines
1.5 KiB
Diff
diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp
|
|
index d900508ad93..f516d172b37 100644
|
|
--- a/clang/lib/Driver/ToolChains/Linux.cpp
|
|
+++ b/clang/lib/Driver/ToolChains/Linux.cpp
|
|
@@ -150,6 +150,10 @@ static std::string getMultiarchTriple(const Driver &D,
|
|
if (D.getVFS().exists(SysRoot + "/lib/powerpc64le-linux-gnu"))
|
|
return "powerpc64le-linux-gnu";
|
|
break;
|
|
+ case llvm::Triple::riscv64:
|
|
+ if (D.getVFS().exists(SysRoot + "/lib/riscv64-linux-gnu"))
|
|
+ return "riscv64-linux-gnu";
|
|
+ break;
|
|
case llvm::Triple::sparc:
|
|
if (D.getVFS().exists(SysRoot + "/lib/sparc-linux-gnu"))
|
|
return "sparc-linux-gnu";
|
|
@@ -749,6 +753,8 @@ void Linux::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
|
|
"/usr/include/powerpc64-linux-gnu"};
|
|
const StringRef PPC64LEMultiarchIncludeDirs[] = {
|
|
"/usr/include/powerpc64le-linux-gnu"};
|
|
+ const StringRef RISCV64MultiarchIncludeDirs[] = {
|
|
+ "/usr/include/riscv64-linux-gnu"};
|
|
const StringRef SparcMultiarchIncludeDirs[] = {
|
|
"/usr/include/sparc-linux-gnu"};
|
|
const StringRef Sparc64MultiarchIncludeDirs[] = {
|
|
@@ -824,6 +830,9 @@ void Linux::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
|
|
case llvm::Triple::ppc64le:
|
|
MultiarchIncludeDirs = PPC64LEMultiarchIncludeDirs;
|
|
break;
|
|
+ case llvm::Triple::riscv64:
|
|
+ MultiarchIncludeDirs = RISCV64MultiarchIncludeDirs;
|
|
+ break;
|
|
case llvm::Triple::sparc:
|
|
MultiarchIncludeDirs = SparcMultiarchIncludeDirs;
|
|
break;
|