a426b286c8
patch for r263619, and unify all the URLs to point to svnweb.
32 lines
1.3 KiB
Diff
32 lines
1.3 KiB
Diff
Pull in r198311 from upstream clang trunk (by Roman Divacky):
|
|
|
|
In the FreeBSD assembler driver, inform the sparc assembler that we're producing
|
|
PIC code.
|
|
|
|
Introduced here: http://svnweb.freebsd.org/changeset/base/262262
|
|
|
|
Index: tools/clang/lib/Driver/Tools.cpp
|
|
===================================================================
|
|
--- tools/clang/lib/Driver/Tools.cpp
|
|
+++ tools/clang/lib/Driver/Tools.cpp
|
|
@@ -5785,6 +5785,19 @@ void freebsd::Assemble::ConstructJob(Compilation &
|
|
default:
|
|
CmdArgs.push_back("-matpcs");
|
|
}
|
|
+ } else if (getToolChain().getArch() == llvm::Triple::sparc ||
|
|
+ getToolChain().getArch() == llvm::Triple::sparcv9) {
|
|
+ Arg *LastPICArg = Args.getLastArg(options::OPT_fPIC, options::OPT_fno_PIC,
|
|
+ options::OPT_fpic, options::OPT_fno_pic,
|
|
+ options::OPT_fPIE, options::OPT_fno_PIE,
|
|
+ options::OPT_fpie, options::OPT_fno_pie);
|
|
+ if (LastPICArg &&
|
|
+ (LastPICArg->getOption().matches(options::OPT_fPIC) ||
|
|
+ LastPICArg->getOption().matches(options::OPT_fpic) ||
|
|
+ LastPICArg->getOption().matches(options::OPT_fPIE) ||
|
|
+ LastPICArg->getOption().matches(options::OPT_fpie))) {
|
|
+ CmdArgs.push_back("-KPIC");
|
|
+ }
|
|
}
|
|
|
|
Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA,
|