]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - contrib/llvm/patches/patch-r262262-clang-r198311-sparc.diff
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / contrib / llvm / patches / patch-r262262-clang-r198311-sparc.diff
1 Pull 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
6 Introduced here: http://svnweb.freebsd.org/changeset/base/262262
7
8 Index: 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,