summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbdoulaye Walsimou Gaye <awg@embtoolkit.org>2013-05-05 00:37:16 +0200
committerAbdoulaye Walsimou Gaye <awg@embtoolkit.org>2014-05-09 23:20:47 +0200
commit9b8eaff5ba8453f59ac897075b8f18ce37fc95ce (patch)
tree57af9113ee05e52f155bf8ee7b23d94849448290
parent210661236e93ca80679c935a5555b901d22ef1af (diff)
downloadclang-9b8eaff5ba8453f59ac897075b8f18ce37fc95ce.tar.gz
clang-9b8eaff5ba8453f59ac897075b8f18ce37fc95ce.tar.bz2
clang-9b8eaff5ba8453f59ac897075b8f18ce37fc95ce.tar.xz
[Embtk] ARM: linuxtools::Assemble::ConstructJob(): always set -mcpu
This will ensure us that gas uses correct -mcpu. Signed-off-by: Abdoulaye Walsimou Gaye <awg@embtoolkit.org>
-rw-r--r--lib/Driver/Tools.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp
index 18aea1ec2a..221118c36a 100644
--- a/lib/Driver/Tools.cpp
+++ b/lib/Driver/Tools.cpp
@@ -6224,9 +6224,14 @@ void gnutools::Assemble::ConstructJob(Compilation &C, const JobAction &JA,
StringRef ARMFloatABI = getARMFloatABI(getToolChain().getDriver(), Args,
getToolChain().getTriple());
CmdArgs.push_back(Args.MakeArgString("-mfloat-abi=" + ARMFloatABI));
-
+ llvm::Triple Triple = getToolChain().getTriple();
+ if (Args.hasArg(options::OPT_mcpu_EQ)) {
+ Args.AddLastArg(CmdArgs, options::OPT_mcpu_EQ);
+ } else {
+ StringRef MCPU = getARMTargetCPU(Args, Triple);
+ CmdArgs.push_back(Args.MakeArgString("-mcpu=" + MCPU));
+ }
Args.AddLastArg(CmdArgs, options::OPT_march_EQ);
- Args.AddLastArg(CmdArgs, options::OPT_mcpu_EQ);
Args.AddLastArg(CmdArgs, options::OPT_mfpu_EQ);
} else if (getToolChain().getArch() == llvm::Triple::mips ||
getToolChain().getArch() == llvm::Triple::mipsel ||