clang-riscv64-rv64gc
authorLLVM Packaging Team <pkg-llvm-team@lists.alioth.debian.org>
Sat, 15 Aug 2020 19:53:41 +0000 (20:53 +0100)
committerGianfranco Costamagna <locutusofborg@debian.org>
Sat, 15 Aug 2020 19:53:41 +0000 (20:53 +0100)
===================================================================

Gbp-Pq: Name clang-riscv64-rv64gc.diff

clang/lib/Driver/ToolChains/Arch/RISCV.cpp
clang/lib/Driver/ToolChains/Clang.cpp

index b6768de4d29911f2e3f53ceb2a302320a7e78189..9671ea270ef0467aa1ddaacb11ce26f0e0f130df 100644 (file)
@@ -350,6 +350,13 @@ void riscv::getRISCVTargetFeatures(const Driver &D, const ArgList &Args,
 
     // Handle all other types of extensions.
     getExtensionFeatures(D, Args, Features, MArch, OtherExts);
+  } else {
+    // Default to imafdc aka gc
+    Features.push_back("+m");
+    Features.push_back("+a");
+    Features.push_back("+f");
+    Features.push_back("+d");
+    Features.push_back("+c");
   }
 
   // -mrelax is default, unless -mno-relax is specified.
@@ -375,5 +382,5 @@ StringRef riscv::getRISCVABI(const ArgList &Args, const llvm::Triple &Triple) {
   if (Arg *A = Args.getLastArg(options::OPT_mabi_EQ))
     return A->getValue();
 
-  return Triple.getArch() == llvm::Triple::riscv32 ? "ilp32" : "lp64";
+  return Triple.getArch() == llvm::Triple::riscv32 ? "ilp32" : "lp64d";
 }
index dd461a1976d934f883928c0a135f71a610beedc2..d692240f2f4bd8449152fb651aa1504e5a6b1de9 100644 (file)
@@ -1862,7 +1862,7 @@ void Clang::AddRISCVTargetArgs(const ArgList &Args,
   else if (Triple.getArch() == llvm::Triple::riscv32)
     ABIName = "ilp32";
   else if (Triple.getArch() == llvm::Triple::riscv64)
-    ABIName = "lp64";
+    ABIName = "lp64d";
   else
     llvm_unreachable("Unexpected triple!");