llvm-toolchain/debian/patches/clang-riscv64-multiarch.diff
Aurelien Jarno f01d96bcb8 Add support for riscv64:
* 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.
2019-08-05 21:34:33 +02:00

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;