aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dimitry@andric.com>2015-12-27 10:36:44 +0000
committerDimitry Andric <dimitry@andric.com>2015-12-27 10:36:44 +0000
commit46f338ce7fc01d27d1801c957a0b5794ec91b283 (patch)
treeba67eec5ab40bdb7c6e78b0f757614981d5e13e6 /clang/lib/Driver/Tools.cpp
parentf59a2b390114362b8bc4daf14c185c0e9a95c9dd (diff)
downloadllvm-46f338ce7fc01d27d1801c957a0b5794ec91b283.zip
llvm-46f338ce7fc01d27d1801c957a0b5794ec91b283.tar.gz
llvm-46f338ce7fc01d27d1801c957a0b5794ec91b283.tar.bz2
On {mips,mipsel,mips64,mips64el}-freebsd, we need to pass any -G option to the assembler.
Summary: See also: https://sourceware.org/binutils/docs/as/MIPS-Options.html#index-g_t_0040code_007b_002dG_007d-option-_0028MIPS_0029-1392 Reviewers: theraven, atanasyan, brooks, emaste Subscribers: rnk, emaste, cfe-commits, seanbruno, dim Differential Revision: http://reviews.llvm.org/D10137 llvm-svn: 256468
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r--clang/lib/Driver/Tools.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index e65a84cb2..d288251 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -7776,6 +7776,12 @@ void freebsd::Assembler::ConstructJob(Compilation &C, const JobAction &JA,
else
CmdArgs.push_back("-EL");
+ if (Arg *A = Args.getLastArg(options::OPT_G)) {
+ StringRef v = A->getValue();
+ CmdArgs.push_back(Args.MakeArgString("-G" + v));
+ A->claim();
+ }
+
AddAssemblerKPIC(getToolChain(), Args, CmdArgs);
break;
}