diff options
author | Sam Clegg <sbc@chromium.org> | 2017-10-27 00:26:07 +0000 |
---|---|---|
committer | Sam Clegg <sbc@chromium.org> | 2017-10-27 00:26:07 +0000 |
commit | a08631ec6cc885d145a9cd540695b680bd7a2653 (patch) | |
tree | fd57202b9d1a5f4b357a7de920fe6356af4f94a8 /clang/lib/Driver | |
parent | 13cb23b8b3708555c54eb42da3ac789311a0c771 (diff) | |
download | bcm5719-llvm-a08631ec6cc885d145a9cd540695b680bd7a2653.tar.gz bcm5719-llvm-a08631ec6cc885d145a9cd540695b680bd7a2653.zip |
[WebAssembly] Include libclang_rt.builtins in the standard way
Differential Revision: https://reviews.llvm.org/D39218
llvm-svn: 316719
Diffstat (limited to 'clang/lib/Driver')
-rw-r--r-- | clang/lib/Driver/ToolChain.cpp | 8 | ||||
-rw-r--r-- | clang/lib/Driver/ToolChains/CommonArgs.cpp | 10 | ||||
-rw-r--r-- | clang/lib/Driver/ToolChains/WebAssembly.cpp | 2 |
3 files changed, 9 insertions, 11 deletions
diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp index 593cd82038f..12699471662 100644 --- a/clang/lib/Driver/ToolChain.cpp +++ b/clang/lib/Driver/ToolChain.cpp @@ -309,7 +309,13 @@ static StringRef getArchNameForCompilerRTLib(const ToolChain &TC, std::string ToolChain::getCompilerRTPath() const { SmallString<128> Path(getDriver().ResourceDir); - StringRef OSLibName = Triple.isOSFreeBSD() ? "freebsd" : getOS(); + StringRef OSLibName; + if (Triple.isOSFreeBSD()) + OSLibName = "freebsd"; + else if (Triple.isOSBinFormatWasm()) + OSLibName = "wasm"; + else + OSLibName = getOS(); llvm::sys::path::append(Path, "lib", OSLibName); return Path.str(); } diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp index dc50c4f121f..b359cbb77ef 100644 --- a/clang/lib/Driver/ToolChains/CommonArgs.cpp +++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp @@ -1027,15 +1027,7 @@ void tools::AddRunTimeLibs(const ToolChain &TC, const Driver &D, switch (RLT) { case ToolChain::RLT_CompilerRT: - switch (TC.getTriple().getOS()) { - default: - llvm_unreachable("unsupported OS"); - case llvm::Triple::Win32: - case llvm::Triple::Linux: - case llvm::Triple::Fuchsia: - CmdArgs.push_back(TC.getCompilerRTArgString(Args, "builtins")); - break; - } + CmdArgs.push_back(TC.getCompilerRTArgString(Args, "builtins")); break; case ToolChain::RLT_Libgcc: // Make sure libgcc is not used under MSVC environment by default diff --git a/clang/lib/Driver/ToolChains/WebAssembly.cpp b/clang/lib/Driver/ToolChains/WebAssembly.cpp index 354f77fd66a..9f91237705b 100644 --- a/clang/lib/Driver/ToolChains/WebAssembly.cpp +++ b/clang/lib/Driver/ToolChains/WebAssembly.cpp @@ -61,7 +61,7 @@ void wasm::Linker::ConstructJob(Compilation &C, const JobAction &JA, CmdArgs.push_back("-allow-undefined-file"); CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("wasm.syms"))); CmdArgs.push_back("-lc"); - CmdArgs.push_back("-lcompiler_rt"); + AddRunTimeLibs(ToolChain, ToolChain.getDriver(), CmdArgs, Args); } CmdArgs.push_back("-o"); |