From dbce99307474c458ec940806ba0560ea06a3dde9 Mon Sep 17 00:00:00 2001 From: LLVM Packaging Team Date: Tue, 7 Jul 2020 17:18:00 +0100 Subject: [PATCH] clang-riscv64-rv64gc =================================================================== Gbp-Pq: Name clang-riscv64-rv64gc.diff --- clang/lib/Driver/ToolChains/Arch/RISCV.cpp | 9 ++++++++- clang/lib/Driver/ToolChains/Clang.cpp | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/clang/lib/Driver/ToolChains/Arch/RISCV.cpp b/clang/lib/Driver/ToolChains/Arch/RISCV.cpp index b6768de4d..9671ea270 100644 --- a/clang/lib/Driver/ToolChains/Arch/RISCV.cpp +++ b/clang/lib/Driver/ToolChains/Arch/RISCV.cpp @@ -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"; } diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index dd461a197..d692240f2 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -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!"); -- 2.30.2