1Pull in r198311 from upstream clang trunk (by Roman Divacky): 2 3 In the FreeBSD assembler driver, inform the sparc assembler that we're producing 4 PIC code. 5 6Introduced here: http://svnweb.freebsd.org/changeset/base/262262 7 8Index: tools/clang/lib/Driver/Tools.cpp 9=================================================================== 10--- tools/clang/lib/Driver/Tools.cpp 11+++ tools/clang/lib/Driver/Tools.cpp 12@@ -5785,6 +5785,19 @@ void freebsd::Assemble::ConstructJob(Compilation & 13 default: 14 CmdArgs.push_back("-matpcs"); 15 } 16+ } else if (getToolChain().getArch() == llvm::Triple::sparc || 17+ getToolChain().getArch() == llvm::Triple::sparcv9) { 18+ Arg *LastPICArg = Args.getLastArg(options::OPT_fPIC, options::OPT_fno_PIC, 19+ options::OPT_fpic, options::OPT_fno_pic, 20+ options::OPT_fPIE, options::OPT_fno_PIE, 21+ options::OPT_fpie, options::OPT_fno_pie); 22+ if (LastPICArg && 23+ (LastPICArg->getOption().matches(options::OPT_fPIC) || 24+ LastPICArg->getOption().matches(options::OPT_fpic) || 25+ LastPICArg->getOption().matches(options::OPT_fPIE) || 26+ LastPICArg->getOption().matches(options::OPT_fpie))) { 27+ CmdArgs.push_back("-KPIC"); 28+ } 29 } 30 31 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, 32