r249141 - Revert "Add support for the new mips-mti-linux toolchain."

Yaron Keren via cfe-commits cfe-commits at lists.llvm.org
Fri Oct 2 09:46:52 PDT 2015


The regular expression should match match clang.exe on Windows.



2015-10-02 18:00 GMT+03:00 Vasileios Kalintiris via cfe-commits <
cfe-commits at lists.llvm.org>:

> Author: vkalintiris
> Date: Fri Oct  2 10:00:55 2015
> New Revision: 249141
>
> URL: http://llvm.org/viewvc/llvm-project?rev=249141&view=rev
> Log:
> Revert "Add support for the new mips-mti-linux toolchain."
>
> This reverts commit r249137 because it broke the Windows buildbots and
> a Linux buildbot for LLD.
>
> Removed:
>
> cfe/trunk/test/Driver/Inputs/mips_mti_linux/lib/clang/3.8.0/mips-r2-hard-musl/lib/linux/libclang_rt.builtins-mips.a
>
> cfe/trunk/test/Driver/Inputs/mips_mti_linux/lib/clang/3.8.0/mips-r2-hard-musl/lib/linux/
> libclang_rt.builtins-mips.so
>
> cfe/trunk/test/Driver/Inputs/mips_mti_linux/lib/clang/3.8.0/mipsel-r2-hard-musl/lib/linux/libclang_rt.builtins-mipsel.a
>
> cfe/trunk/test/Driver/Inputs/mips_mti_linux/lib/clang/3.8.0/mipsel-r2-hard-musl/lib/linux/
> libclang_rt.builtins-mipsel.so
>
> cfe/trunk/test/Driver/Inputs/mips_mti_linux/sysroot/mips-r2-hard-musl/usr/lib/crt1.o
>
> cfe/trunk/test/Driver/Inputs/mips_mti_linux/sysroot/mips-r2-hard-musl/usr/lib/crti.o
>
> cfe/trunk/test/Driver/Inputs/mips_mti_linux/sysroot/mips-r2-hard-musl/usr/lib/crtn.o
>
> cfe/trunk/test/Driver/Inputs/mips_mti_linux/sysroot/mipsel-r2-hard-musl/usr/lib/crt1.o
>
> cfe/trunk/test/Driver/Inputs/mips_mti_linux/sysroot/mipsel-r2-hard-musl/usr/lib/crti.o
>
> cfe/trunk/test/Driver/Inputs/mips_mti_linux/sysroot/mipsel-r2-hard-musl/usr/lib/crtn.o
>     cfe/trunk/test/Driver/mips-mti-linux.c
> Modified:
>     cfe/trunk/lib/Driver/Driver.cpp
>     cfe/trunk/lib/Driver/ToolChain.cpp
>     cfe/trunk/lib/Driver/ToolChains.cpp
>     cfe/trunk/lib/Driver/ToolChains.h
>     cfe/trunk/lib/Driver/Tools.cpp
>     cfe/trunk/lib/Driver/Tools.h
>
> Modified: cfe/trunk/lib/Driver/Driver.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Driver.cpp?rev=249141&r1=249140&r2=249141&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/Driver/Driver.cpp (original)
> +++ cfe/trunk/lib/Driver/Driver.cpp Fri Oct  2 10:00:55 2015
> @@ -2122,11 +2122,6 @@ void Driver::generatePrefixedToolNames(
>    // FIXME: Needs a better variable than DefaultTargetTriple
>    Names.emplace_back(DefaultTargetTriple + "-" + Tool);
>    Names.emplace_back(Tool);
> -
> -  // Allow the discovery of tools prefixed with LLVM's default target
> triple.
> -  std::string LLVMDefaultTargetTriple =
> llvm::sys::getDefaultTargetTriple();
> -  if (LLVMDefaultTargetTriple != DefaultTargetTriple)
> -    Names.emplace_back(LLVMDefaultTargetTriple + "-" + Tool);
>  }
>
>  static bool ScanDirForExecutable(SmallString<128> &Dir,
> @@ -2222,9 +2217,6 @@ const ToolChain &Driver::getToolChain(co
>      case llvm::Triple::Linux:
>        if (Target.getArch() == llvm::Triple::hexagon)
>          TC = new toolchains::HexagonToolChain(*this, Target, Args);
> -      else if ((Target.getVendor() == llvm::Triple::MipsTechnologies) &&
> -               !Target.hasEnvironment())
> -        TC = new toolchains::MipsLLVMToolChain(*this, Target, Args);
>        else
>          TC = new toolchains::Linux(*this, Target, Args);
>        break;
>
> Modified: cfe/trunk/lib/Driver/ToolChain.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChain.cpp?rev=249141&r1=249140&r2=249141&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/Driver/ToolChain.cpp (original)
> +++ cfe/trunk/lib/Driver/ToolChain.cpp Fri Oct  2 10:00:55 2015
> @@ -315,6 +315,7 @@ Tool *ToolChain::SelectTool(const JobAct
>
>  std::string ToolChain::GetFilePath(const char *Name) const {
>    return D.GetFilePath(Name, *this);
> +
>  }
>
>  std::string ToolChain::GetProgramPath(const char *Name) const {
>
> Modified: cfe/trunk/lib/Driver/ToolChains.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains.cpp?rev=249141&r1=249140&r2=249141&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/Driver/ToolChains.cpp (original)
> +++ cfe/trunk/lib/Driver/ToolChains.cpp Fri Oct  2 10:00:55 2015
> @@ -1301,9 +1301,8 @@ bool Generic_GCC::GCCInstallationDetecto
>        "i586-linux-gnu"};
>
>    static const char *const MIPSLibDirs[] = {"/lib"};
> -  static const char *const MIPSTriples[] = {"mips-linux-gnu",
> "mips-mti-linux",
> -                                            "mips-mti-linux-gnu",
> -                                            "mips-img-linux-gnu"};
> +  static const char *const MIPSTriples[] = {
> +      "mips-linux-gnu", "mips-mti-linux-gnu", "mips-img-linux-gnu"};
>    static const char *const MIPSELLibDirs[] = {"/lib"};
>    static const char *const MIPSELTriples[] = {
>        "mipsel-linux-gnu", "mipsel-linux-android", "mips-img-linux-gnu"};
> @@ -1692,32 +1691,6 @@ static bool findMIPSMultilibs(const llvm
>              });
>    }
>
> -  // Check for Musl toolchain multilibs
> -  MultilibSet MuslMipsMultilibs;
> -  {
> -    auto MArchMipsR2 = makeMultilib("")
> -                           .osSuffix("/mips-r2-hard-musl")
> -                           .flag("+EB")
> -                           .flag("-EL")
> -                           .flag("+march=mips32r2");
> -
> -    auto MArchMipselR2 = makeMultilib("/mipsel-r2-hard-musl")
> -                             .flag("-EB")
> -                             .flag("+EL")
> -                             .flag("+march=mips32r2");
> -
> -    MuslMipsMultilibs = MultilibSet().Either(MArchMipsR2, MArchMipselR2);
> -
> -    // Specify the callback that computes the include directories.
> -    MuslMipsMultilibs.setIncludeDirsCallback([](
> -        StringRef InstallDir, StringRef TripleStr, const Multilib &M) {
> -      std::vector<std::string> Dirs;
> -      Dirs.push_back(
> -          (InstallDir + "/../sysroot" + M.osSuffix() +
> "/usr/include").str());
> -      return Dirs;
> -    });
> -  }
> -
>    // Check for Code Sourcery toolchain multilibs
>    MultilibSet CSMipsMultilibs;
>    {
> @@ -1863,16 +1836,6 @@ static bool findMIPSMultilibs(const llvm
>      return false;
>    }
>
> -  if (TargetTriple.getVendor() == llvm::Triple::MipsTechnologies &&
> -      TargetTriple.getOS() == llvm::Triple::Linux &&
> -      TargetTriple.getEnvironment() == llvm::Triple::UnknownEnvironment) {
> -    if (MuslMipsMultilibs.select(Flags, Result.SelectedMultilib)) {
> -      Result.Multilibs = MuslMipsMultilibs;
> -      return true;
> -    }
> -    return false;
> -  }
> -
>    if (TargetTriple.getVendor() == llvm::Triple::ImaginationTechnologies &&
>        TargetTriple.getOS() == llvm::Triple::Linux &&
>        TargetTriple.getEnvironment() == llvm::Triple::GNU) {
> @@ -2213,135 +2176,13 @@ void Generic_ELF::addClangTargetOptions(
>        (getTriple().getOS() == llvm::Triple::Linux &&
>         (!V.isOlderThan(4, 7, 0) ||
>          getTriple().getEnvironment() == llvm::Triple::Android)) ||
> -      getTriple().getOS() == llvm::Triple::NaCl ||
> -      (getTriple().getVendor() == llvm::Triple::MipsTechnologies &&
> -       !getTriple().hasEnvironment());
> +      getTriple().getOS() == llvm::Triple::NaCl;
>
>    if (DriverArgs.hasFlag(options::OPT_fuse_init_array,
>                           options::OPT_fno_use_init_array,
> UseInitArrayDefault))
>      CC1Args.push_back("-fuse-init-array");
>  }
>
> -/// Mips Toolchain
> -MipsLLVMToolChain::MipsLLVMToolChain(const Driver &D,
> -                                     const llvm::Triple &Triple,
> -                                     const ArgList &Args)
> -    : Linux(D, Triple, Args) {
> -  // Select the correct multilib according to the given arguments.
> -  DetectedMultilibs Result;
> -  findMIPSMultilibs(Triple, "", Args, Result);
> -  Multilibs = Result.Multilibs;
> -  SelectedMultilib = Result.SelectedMultilib;
> -
> -  // Find out the library suffix based on the ABI.
> -  LibSuffix = tools::mips::getMipsABILibSuffix(Args, Triple);
> -  getFilePaths().clear();
> -  getFilePaths().push_back(computeSysRoot() + "/usr/lib" + LibSuffix);
> -
> -  // Use LLD by default.
> -  if (!Args.getLastArg(options::OPT_fuse_ld_EQ))
> -    Linker = GetProgramPath("lld");
> -}
> -
> -void MipsLLVMToolChain::AddClangSystemIncludeArgs(
> -    const ArgList &DriverArgs, ArgStringList &CC1Args) const {
> -  if (DriverArgs.hasArg(options::OPT_nostdinc))
> -    return;
> -
> -  const Driver &D = getDriver();
> -
> -  if (!DriverArgs.hasArg(options::OPT_nobuiltininc)) {
> -    SmallString<128> P(D.ResourceDir);
> -    llvm::sys::path::append(P, "include");
> -    addSystemInclude(DriverArgs, CC1Args, P);
> -  }
> -
> -  if (DriverArgs.hasArg(options::OPT_nostdlibinc))
> -    return;
> -
> -  const auto &Callback = Multilibs.includeDirsCallback();
> -  if (Callback) {
> -    const auto IncludePaths =
> -        Callback(D.getInstalledDir(), getTripleString(),
> SelectedMultilib);
> -    for (const auto &Path : IncludePaths)
> -      addExternCSystemIncludeIfExists(DriverArgs, CC1Args, Path);
> -  }
> -}
> -
> -Tool *MipsLLVMToolChain::buildLinker() const {
> -  return new tools::gnutools::Linker(*this);
> -}
> -
> -std::string MipsLLVMToolChain::computeSysRoot() const {
> -  if (!getDriver().SysRoot.empty())
> -    return getDriver().SysRoot + SelectedMultilib.osSuffix();
> -
> -  const std::string InstalledDir(getDriver().getInstalledDir());
> -  std::string SysRootPath =
> -      InstalledDir + "/../sysroot" + SelectedMultilib.osSuffix();
> -  if (llvm::sys::fs::exists(SysRootPath))
> -    return SysRootPath;
> -
> -  return std::string();
> -}
> -
> -ToolChain::CXXStdlibType
> -MipsLLVMToolChain::GetCXXStdlibType(const ArgList &Args) const {
> -  Arg *A = Args.getLastArg(options::OPT_stdlib_EQ);
> -  if (A) {
> -    StringRef Value = A->getValue();
> -    if (Value != "libc++")
> -      getDriver().Diag(diag::err_drv_invalid_stdlib_name)
> -          << A->getAsString(Args);
> -  }
> -
> -  return ToolChain::CST_Libcxx;
> -}
> -
> -void MipsLLVMToolChain::AddClangCXXStdlibIncludeArgs(
> -    const ArgList &DriverArgs, ArgStringList &CC1Args) const {
> -  if (DriverArgs.hasArg(options::OPT_nostdlibinc) ||
> -      DriverArgs.hasArg(options::OPT_nostdincxx))
> -    return;
> -
> -  assert((GetCXXStdlibType(DriverArgs) == ToolChain::CST_Libcxx) &&
> -         "Only -lc++ (aka libcxx) is suported in this toolchain.");
> -
> -  const auto &Callback = Multilibs.includeDirsCallback();
> -  if (Callback) {
> -    const auto IncludePaths = Callback(getDriver().getInstalledDir(),
> -                                       getTripleString(),
> SelectedMultilib);
> -    for (const auto &Path : IncludePaths) {
> -      if (llvm::sys::fs::exists(Path + "/c++/v1")) {
> -        addSystemInclude(DriverArgs, CC1Args, Path + "/c++/v1");
> -        break;
> -      }
> -    }
> -  }
> -}
> -
> -void MipsLLVMToolChain::AddCXXStdlibLibArgs(const ArgList &Args,
> -                                            ArgStringList &CmdArgs) const
> {
> -  assert((GetCXXStdlibType(Args) == ToolChain::CST_Libcxx) &&
> -         "Only -lc++ (aka libxx) is suported in this toolchain.");
> -
> -  CmdArgs.push_back("-lc++");
> -  CmdArgs.push_back("-lc++abi");
> -  CmdArgs.push_back("-lunwind");
> -}
> -
> -std::string MipsLLVMToolChain::getCompilerRT(const ArgList &Args,
> -                                             StringRef Component,
> -                                             bool Shared) const {
> -  SmallString<128> Path(getDriver().ResourceDir);
> -  llvm::sys::path::append(Path, SelectedMultilib.osSuffix(), "lib" +
> LibSuffix,
> -                          getOS());
> -  llvm::sys::path::append(Path, Twine("libclang_rt." + Component + "-" +
> -                                      getTriple().getArchName() +
> -                                      (Shared ? ".so" : ".a")));
> -  return Path.str();
> -}
> -
>  /// Hexagon Toolchain
>
>  std::string HexagonToolChain::GetGnuDir(const std::string &InstalledDir,
>
> Modified: cfe/trunk/lib/Driver/ToolChains.h
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains.h?rev=249141&r1=249140&r2=249141&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/Driver/ToolChains.h (original)
> +++ cfe/trunk/lib/Driver/ToolChains.h Fri Oct  2 10:00:55 2015
> @@ -724,7 +724,6 @@ public:
>        llvm::opt::ArgStringList &CC1Args) const override;
>    bool isPIEDefault() const override;
>    SanitizerMask getSupportedSanitizers() const override;
> -  virtual std::string computeSysRoot() const;
>
>    std::string Linker;
>    std::vector<std::string> ExtraOpts;
> @@ -742,6 +741,7 @@ private:
>                                         const llvm::opt::ArgList
> &DriverArgs,
>                                         llvm::opt::ArgStringList &CC1Args);
>
> +  std::string computeSysRoot() const;
>  };
>
>  class LLVM_LIBRARY_VISIBILITY CudaToolChain : public Linux {
> @@ -756,42 +756,6 @@ public:
>                               llvm::opt::ArgStringList &CC1Args) const
> override;
>  };
>
> -class LLVM_LIBRARY_VISIBILITY MipsLLVMToolChain : public Linux {
> -protected:
> -  Tool *buildLinker() const override;
> -
> -public:
> -  MipsLLVMToolChain(const Driver &D, const llvm::Triple &Triple,
> -                    const llvm::opt::ArgList &Args);
> -
> -  void
> -  AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,
> -                            llvm::opt::ArgStringList &CC1Args) const
> override;
> -
> -  CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList &Args) const
> override;
> -
> -  void AddClangCXXStdlibIncludeArgs(
> -      const llvm::opt::ArgList &DriverArgs,
> -      llvm::opt::ArgStringList &CC1Args) const override;
> -
> -  void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args,
> -                           llvm::opt::ArgStringList &CmdArgs) const
> override;
> -
> -  std::string getCompilerRT(const llvm::opt::ArgList &Args, StringRef
> Component,
> -                            bool Shared = false) const override;
> -
> -  std::string computeSysRoot() const override;
> -
> -  RuntimeLibType GetDefaultRuntimeLibType() const override {
> -    return GCCInstallation.isValid() ? RuntimeLibType::RLT_Libgcc
> -                                     : RuntimeLibType::RLT_CompilerRT;
> -  }
> -
> -private:
> -  Multilib SelectedMultilib;
> -  std::string LibSuffix;
> -};
> -
>  class LLVM_LIBRARY_VISIBILITY HexagonToolChain : public Linux {
>  protected:
>    GCCVersion GCCLibAndIncVersion;
>
> Modified: cfe/trunk/lib/Driver/Tools.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=249141&r1=249140&r2=249141&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/Driver/Tools.cpp (original)
> +++ cfe/trunk/lib/Driver/Tools.cpp Fri Oct  2 10:00:55 2015
> @@ -1077,16 +1077,6 @@ void mips::getMipsCPUAndABI(const ArgLis
>    // FIXME: Warn on inconsistent use of -march and -mabi.
>  }
>
> -std::string mips::getMipsABILibSuffix(const ArgList &Args,
> -                                      const llvm::Triple &Triple) {
> -  StringRef CPUName, ABIName;
> -  tools::mips::getMipsCPUAndABI(Args, Triple, CPUName, ABIName);
> -  return llvm::StringSwitch<std::string>(ABIName)
> -      .Case("o32", "")
> -      .Case("n32", "32")
> -      .Case("n64", "64");
> -}
> -
>  // Convert ABI name to the GNU tools acceptable variant.
>  static StringRef getGnuCompatibleMipsABIName(StringRef ABI) {
>    return llvm::StringSwitch<llvm::StringRef>(ABI)
> @@ -4569,16 +4559,12 @@ void Clang::ConstructJob(Compilation &C,
>    }
>
>    // -fuse-cxa-atexit is default.
> -  if (!Args.hasFlag(
> -          options::OPT_fuse_cxa_atexit, options::OPT_fno_use_cxa_atexit,
> -          !IsWindowsCygnus && !IsWindowsGNU &&
> -              getToolChain().getTriple().getOS() != llvm::Triple::Solaris
> &&
> -              getToolChain().getArch() != llvm::Triple::hexagon &&
> -              getToolChain().getArch() != llvm::Triple::xcore &&
> -              getToolChain().getArch() != llvm::Triple::xcore &&
> -              ((getToolChain().getTriple().getVendor() !=
> -                llvm::Triple::MipsTechnologies) ||
> -               getToolChain().getTriple().hasEnvironment())) ||
> +  if (!Args.hasFlag(options::OPT_fuse_cxa_atexit,
> +                    options::OPT_fno_use_cxa_atexit,
> +                    !IsWindowsCygnus && !IsWindowsGNU &&
> +                    getToolChain().getTriple().getOS() !=
> llvm::Triple::Solaris &&
> +                    getToolChain().getArch() != llvm::Triple::hexagon &&
> +                    getToolChain().getArch() != llvm::Triple::xcore) ||
>        KernelOrKext)
>      CmdArgs.push_back("-fno-use-cxa-atexit");
>
> @@ -8150,17 +8136,20 @@ static std::string getLinuxDynamicLinker
>        return "/lib/ld-linux.so.3";
>    } else if (Arch == llvm::Triple::mips || Arch == llvm::Triple::mipsel ||
>               Arch == llvm::Triple::mips64 || Arch ==
> llvm::Triple::mips64el) {
> -    std::string LibDir =
> -        "/lib" + mips::getMipsABILibSuffix(Args, ToolChain.getTriple());
> -    StringRef LibName;
> +    StringRef CPUName;
> +    StringRef ABIName;
> +    mips::getMipsCPUAndABI(Args, ToolChain.getTriple(), CPUName, ABIName);
>      bool IsNaN2008 = mips::isNaN2008(Args, ToolChain.getTriple());
> +
> +    StringRef LibDir = llvm::StringSwitch<llvm::StringRef>(ABIName)
> +                           .Case("o32", "/lib")
> +                           .Case("n32", "/lib32")
> +                           .Case("n64", "/lib64")
> +                           .Default("/lib");
> +    StringRef LibName;
>      if (mips::isUCLibc(Args))
>        LibName = IsNaN2008 ? "ld-uClibc-mipsn8.so.0" : "ld-uClibc.so.0";
> -    else if (!ToolChain.getTriple().hasEnvironment()) {
> -      bool LE = (ToolChain.getTriple().getArch() == llvm::Triple::mipsel)
> ||
> -                (ToolChain.getTriple().getArch() ==
> llvm::Triple::mips64el);
> -      LibName = LE ? "ld-musl-mipsel.so.1" : "ld-musl-mips.so.1";
> -    } else
> +    else
>        LibName = IsNaN2008 ? "ld-linux-mipsn8.so.1" : "ld.so.1";
>
>      return (LibDir + "/" + LibName).str();
> @@ -8273,9 +8262,6 @@ void gnutools::Linker::ConstructJob(Comp
>    const bool IsPIE =
>        !Args.hasArg(options::OPT_shared) &&
> !Args.hasArg(options::OPT_static) &&
>        (Args.hasArg(options::OPT_pie) || ToolChain.isPIEDefault());
> -  const bool HasCRTBeginEndFiles =
> -      ToolChain.getTriple().hasEnvironment() ||
> -      (ToolChain.getTriple().getVendor() !=
> llvm::Triple::MipsTechnologies);
>
>    ArgStringList CmdArgs;
>
> @@ -8287,13 +8273,6 @@ void gnutools::Linker::ConstructJob(Comp
>    // handled somewhere else.
>    Args.ClaimAllArgs(options::OPT_w);
>
> -  if (llvm::sys::path::filename(ToolChain.Linker) == "lld") {
> -    CmdArgs.push_back("-flavor");
> -    CmdArgs.push_back("gnu");
> -    CmdArgs.push_back("-target");
> -
> CmdArgs.push_back(Args.MakeArgString(getToolChain().getTripleString()));
> -  }
> -
>    if (!D.SysRoot.empty())
>      CmdArgs.push_back(Args.MakeArgString("--sysroot=" + D.SysRoot));
>
> @@ -8368,9 +8347,7 @@ void gnutools::Linker::ConstructJob(Comp
>        crtbegin = isAndroid ? "crtbegin_dynamic.o" : "crtbeginS.o";
>      else
>        crtbegin = isAndroid ? "crtbegin_dynamic.o" : "crtbegin.o";
> -
> -    if (HasCRTBeginEndFiles)
> -
> CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crtbegin)));
> +
> CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crtbegin)));
>
>      // Add crtfastmath.o if available and fast math is enabled.
>      ToolChain.AddFastMathRuntimeIfAvailable(Args, CmdArgs);
> @@ -8469,13 +8446,11 @@ void gnutools::Linker::ConstructJob(Comp
>        else
>          crtend = isAndroid ? "crtend_android.o" : "crtend.o";
>
> -      if (HasCRTBeginEndFiles)
> -
> CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crtend)));
> +
> CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crtend)));
>        if (!isAndroid)
>
>  CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtn.o")));
>      }
> -  } else if (Args.hasArg(options::OPT_rtlib_EQ))
> -    AddRunTimeLibs(ToolChain, D, CmdArgs, Args);
> +  }
>
>    C.addCommand(llvm::make_unique<Command>(JA, *this,
> ToolChain.Linker.c_str(),
>                                            CmdArgs, Inputs));
>
> Modified: cfe/trunk/lib/Driver/Tools.h
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.h?rev=249141&r1=249140&r2=249141&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/Driver/Tools.h (original)
> +++ cfe/trunk/lib/Driver/Tools.h Fri Oct  2 10:00:55 2015
> @@ -267,8 +267,6 @@ NanEncoding getSupportedNanEncoding(Stri
>  void getMipsCPUAndABI(const llvm::opt::ArgList &Args,
>                        const llvm::Triple &Triple, StringRef &CPUName,
>                        StringRef &ABIName);
> -std::string getMipsABILibSuffix(const llvm::opt::ArgList &Args,
> -                                const llvm::Triple &Triple);
>  bool hasMipsAbiArg(const llvm::opt::ArgList &Args, const char *Value);
>  bool isUCLibc(const llvm::opt::ArgList &Args);
>  bool isNaN2008(const llvm::opt::ArgList &Args, const llvm::Triple
> &Triple);
>
> Removed:
> cfe/trunk/test/Driver/Inputs/mips_mti_linux/lib/clang/3.8.0/mips-r2-hard-musl/lib/linux/libclang_rt.builtins-mips.a
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mips_mti_linux/lib/clang/3.8.0/mips-r2-hard-musl/lib/linux/libclang_rt.builtins-mips.a?rev=249140&view=auto
>
> ==============================================================================
>     (empty)
>
> Removed:
> cfe/trunk/test/Driver/Inputs/mips_mti_linux/lib/clang/3.8.0/mips-r2-hard-musl/lib/linux/
> libclang_rt.builtins-mips.so
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mips_mti_linux/lib/clang/3.8.0/mips-r2-hard-musl/lib/linux/libclang_rt.builtins-mips.so?rev=249140&view=auto
>
> ==============================================================================
>     (empty)
>
> Removed:
> cfe/trunk/test/Driver/Inputs/mips_mti_linux/lib/clang/3.8.0/mipsel-r2-hard-musl/lib/linux/libclang_rt.builtins-mipsel.a
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mips_mti_linux/lib/clang/3.8.0/mipsel-r2-hard-musl/lib/linux/libclang_rt.builtins-mipsel.a?rev=249140&view=auto
>
> ==============================================================================
>     (empty)
>
> Removed:
> cfe/trunk/test/Driver/Inputs/mips_mti_linux/lib/clang/3.8.0/mipsel-r2-hard-musl/lib/linux/
> libclang_rt.builtins-mipsel.so
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mips_mti_linux/lib/clang/3.8.0/mipsel-r2-hard-musl/lib/linux/libclang_rt.builtins-mipsel.so?rev=249140&view=auto
>
> ==============================================================================
>     (empty)
>
> Removed:
> cfe/trunk/test/Driver/Inputs/mips_mti_linux/sysroot/mips-r2-hard-musl/usr/lib/crt1.o
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mips_mti_linux/sysroot/mips-r2-hard-musl/usr/lib/crt1.o?rev=249140&view=auto
>
> ==============================================================================
>     (empty)
>
> Removed:
> cfe/trunk/test/Driver/Inputs/mips_mti_linux/sysroot/mips-r2-hard-musl/usr/lib/crti.o
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mips_mti_linux/sysroot/mips-r2-hard-musl/usr/lib/crti.o?rev=249140&view=auto
>
> ==============================================================================
>     (empty)
>
> Removed:
> cfe/trunk/test/Driver/Inputs/mips_mti_linux/sysroot/mips-r2-hard-musl/usr/lib/crtn.o
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mips_mti_linux/sysroot/mips-r2-hard-musl/usr/lib/crtn.o?rev=249140&view=auto
>
> ==============================================================================
>     (empty)
>
> Removed:
> cfe/trunk/test/Driver/Inputs/mips_mti_linux/sysroot/mipsel-r2-hard-musl/usr/lib/crt1.o
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mips_mti_linux/sysroot/mipsel-r2-hard-musl/usr/lib/crt1.o?rev=249140&view=auto
>
> ==============================================================================
>     (empty)
>
> Removed:
> cfe/trunk/test/Driver/Inputs/mips_mti_linux/sysroot/mipsel-r2-hard-musl/usr/lib/crti.o
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mips_mti_linux/sysroot/mipsel-r2-hard-musl/usr/lib/crti.o?rev=249140&view=auto
>
> ==============================================================================
>     (empty)
>
> Removed:
> cfe/trunk/test/Driver/Inputs/mips_mti_linux/sysroot/mipsel-r2-hard-musl/usr/lib/crtn.o
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mips_mti_linux/sysroot/mipsel-r2-hard-musl/usr/lib/crtn.o?rev=249140&view=auto
>
> ==============================================================================
>     (empty)
>
> Removed: cfe/trunk/test/Driver/mips-mti-linux.c
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/mips-mti-linux.c?rev=249140&view=auto
>
> ==============================================================================
> --- cfe/trunk/test/Driver/mips-mti-linux.c (original)
> +++ cfe/trunk/test/Driver/mips-mti-linux.c (removed)
> @@ -1,42 +0,0 @@
> -// Check frontend and linker invocations on GPL-free MIPS toolchain.
> -//
> -// FIXME: Using --sysroot with this toolchain/triple isn't supported. We
> use
> -//        it here to test that we are producing the correct paths/flags.
> -//        Ideally, we'd like to have an --llvm-toolchain option similar to
> -//        the --gcc-toolchain one.
> -
> -// = Big-endian, mips32r2, hard float
> -// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
> -// RUN:     --target=mips-mti-linux -mips32r2 -mhard-float \
> -// RUN:     --sysroot=%S/Inputs/mips_mti_linux/sysroot \
> -// RUN:   | FileCheck --check-prefix=CHECK-BE-HF-32R2 %s
> -//
> -// CHECK-BE-HF-32R2: "{{.*}}clang" {{.*}} "-triple" "mips-mti-linux"
> -// CHECK-BE-HF-32R2-SAME: "-fuse-init-array" "-target-cpu" "mips32r2"
> -// CHECK-BE-HF-32R2-SAME: "-isysroot" "{{.*}}mips_mti_linux/sysroot"
> -// CHECK-BE-HF-32R2: "lld" "-flavor" "gnu" "-target" "mips-mti-linux"
> -// CHECK-BE-HF-32R2-SAME: "--sysroot=[[SYSROOT:[^"]+]]" {{.*}}
> "-dynamic-linker" "/lib/ld-musl-mips.so.1"
> -// CHECK-BE-HF-32R2-SAME: "[[SYSROOT]]/mips-r2-hard-musl/usr/lib/crt1.o"
> -// CHECK-BE-HF-32R2-SAME: "[[SYSROOT]]/mips-r2-hard-musl/usr/lib/crti.o"
> -// CHECK-BE-HF-32R2-SAME: "-L[[SYSROOT]]/mips-r2-hard-musl/usr/lib"
> -// CHECK-BE-HF-32R2-SAME:
> "{{[^"]+}}/mips-r2-hard-musl/lib/linux/libclang_rt.builtins-mips.a"
> -// CHECK-BE-HF-32R2-SAME: "-lc"
> -// CHECK-BE-HF-32R2-SAME: "[[SYSROOT]]/mips-r2-hard-musl/usr/lib/crtn.o"
> -
> -// = Little-endian, mips32r2, hard float
> -// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
> -// RUN:     --target=mips-mti-linux -mips32r2 -EL -mhard-float \
> -// RUN:     --sysroot=%S/Inputs/mips_mti_linux/sysroot \
> -// RUN:   | FileCheck --check-prefix=CHECK-LE-HF-32R2 %s
> -//
> -// CHECK-LE-HF-32R2: "{{.*}}clang" {{.*}} "-triple" "mipsel-mti-linux"
> -// CHECK-LE-HF-32R2-SAME: "-fuse-init-array" "-target-cpu" "mips32r2"
> -// CHECK-LE-HF-32R2-SAME: "-isysroot" "{{.*}}mips_mti_linux/sysroot"
> -// CHECK-LE-HF-32R2: "lld" "-flavor" "gnu" "-target" "mipsel-mti-linux"
> -// CHECK-LE-HF-32R2-SAME: "--sysroot=[[SYSROOT:[^"]+]]" {{.*}}
> "-dynamic-linker" "/lib/ld-musl-mipsel.so.1"
> -// CHECK-LE-HF-32R2-SAME: "[[SYSROOT]]/mipsel-r2-hard-musl/usr/lib/crt1.o"
> -// CHECK-LE-HF-32R2-SAME: "[[SYSROOT]]/mipsel-r2-hard-musl/usr/lib/crti.o"
> -// CHECK-LE-HF-32R2-SAME: "-L[[SYSROOT]]/mipsel-r2-hard-musl/usr/lib"
> -// CHECK-LE-HF-32R2-SAME:
> "{{[^"]+}}/mipsel-r2-hard-musl/lib/linux/libclang_rt.builtins-mipsel.a"
> -// CHECK-LE-HF-32R2-SAME: "-lc"
> -// CHECK-LE-HF-32R2-SAME: "[[SYSROOT]]/mipsel-r2-hard-musl/usr/lib/crtn.o"
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20151002/dcba4650/attachment-0001.html>


More information about the cfe-commits mailing list