summaryrefslogtreecommitdiffstats
path: root/recipes-devtools/clang/clang/0020-clang-default-to-lp64d-ABI-and-rv64gc-ISA.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-devtools/clang/clang/0020-clang-default-to-lp64d-ABI-and-rv64gc-ISA.patch')
-rw-r--r--recipes-devtools/clang/clang/0020-clang-default-to-lp64d-ABI-and-rv64gc-ISA.patch49
1 files changed, 0 insertions, 49 deletions
diff --git a/recipes-devtools/clang/clang/0020-clang-default-to-lp64d-ABI-and-rv64gc-ISA.patch b/recipes-devtools/clang/clang/0020-clang-default-to-lp64d-ABI-and-rv64gc-ISA.patch
deleted file mode 100644
index f9d4733..0000000
--- a/recipes-devtools/clang/clang/0020-clang-default-to-lp64d-ABI-and-rv64gc-ISA.patch
+++ /dev/null
@@ -1,49 +0,0 @@
1From a11464585a13998f97e837a62b299bf66e2f90f0 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 12 Aug 2019 08:59:28 -0700
4Subject: [PATCH] clang: default to lp64d ABI and rv64gc ISA
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7---
8 clang/lib/Driver/ToolChains/Arch/RISCV.cpp | 9 ++++++++-
9 clang/lib/Driver/ToolChains/Clang.cpp | 2 +-
10 2 files changed, 9 insertions(+), 2 deletions(-)
11
12diff --git a/clang/lib/Driver/ToolChains/Arch/RISCV.cpp b/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
13index b6768de4d29..9671ea270ef 100644
14--- a/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
15+++ b/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
16@@ -350,6 +350,13 @@ void riscv::getRISCVTargetFeatures(const Driver &D, const ArgList &Args,
17
18 // Handle all other types of extensions.
19 getExtensionFeatures(D, Args, Features, MArch, OtherExts);
20+ } else {
21+ // Default to imafdc aka gc
22+ Features.push_back("+m");
23+ Features.push_back("+a");
24+ Features.push_back("+f");
25+ Features.push_back("+d");
26+ Features.push_back("+c");
27 }
28
29 // -mrelax is default, unless -mno-relax is specified.
30@@ -375,5 +382,5 @@ StringRef riscv::getRISCVABI(const ArgList &Args, const llvm::Triple &Triple) {
31 if (Arg *A = Args.getLastArg(options::OPT_mabi_EQ))
32 return A->getValue();
33
34- return Triple.getArch() == llvm::Triple::riscv32 ? "ilp32" : "lp64";
35+ return Triple.getArch() == llvm::Triple::riscv32 ? "ilp32" : "lp64d";
36 }
37diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp
38index 08165a60206..c6882f74e93 100644
39--- a/clang/lib/Driver/ToolChains/Clang.cpp
40+++ b/clang/lib/Driver/ToolChains/Clang.cpp
41@@ -1878,7 +1878,7 @@ void Clang::AddRISCVTargetArgs(const ArgList &Args,
42 else if (Triple.getArch() == llvm::Triple::riscv32)
43 ABIName = "ilp32";
44 else if (Triple.getArch() == llvm::Triple::riscv64)
45- ABIName = "lp64";
46+ ABIName = "lp64d";
47 else
48 llvm_unreachable("Unexpected triple!");
49