Index: lib/Driver/Tools.cpp =================================================================== --- lib/Driver/Tools.cpp +++ lib/Driver/Tools.cpp @@ -7776,6 +7776,12 @@ 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; } Index: test/Driver/freebsd-mips-as.c =================================================================== --- test/Driver/freebsd-mips-as.c +++ test/Driver/freebsd-mips-as.c @@ -89,3 +89,9 @@ // RUN: -no-integrated-as -c %s 2>&1 \ // RUN: | FileCheck -check-prefix=MIPS-ALIAS-64R2 %s // MIPS-ALIAS-64R2: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "64" "-EB" +// +// RUN: %clang -target mips-unknown-freebsd -### \ +// RUN: -no-integrated-as -G0 -c %s 2>&1 \ +// RUN: | FileCheck -check-prefix=MIPS32-EB-AS-G0 %s +// MIPS32-EB-AS-G0: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB" "-G0" +// MIPS32-EB-AS-G0-NOT: "-KPIC"