| Index: lib/Driver/Tools.cpp
|
| diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp
|
| index f4f7c4e1d36c937ab54a185d76b6fc53721683fb..6df472c336efb58c7d0436c518e6d170fb2f6182 100644
|
| --- a/lib/Driver/Tools.cpp
|
| +++ b/lib/Driver/Tools.cpp
|
| @@ -8223,10 +8223,15 @@ void pnacltools::Link::ConstructJob(Compilation &C, const JobAction &JA,
|
| CmdArgs.push_back(Args.MakeArgString("--sysroot=" + D.SysRoot));
|
|
|
| if (Arg *A = Args.getLastArg(options::OPT_shared,
|
| - options::OPT_dynamic,
|
| - options::OPT_rdynamic))
|
| + options::OPT_dynamic))
|
| D.Diag(diag::err_drv_unsupported_opt) << A->getOption().getName();
|
|
|
| + // This option does not currently have any effect for bitcode linking,
|
| + // but we support it for backwards compatibility with the legacy driver
|
| + // and existing software packages.
|
| + if (Args.hasArg(options::OPT_rdynamic))
|
| + CmdArgs.push_back("-export-dynamic");
|
| +
|
| std::string TripleStr = ToolChain.ComputeEffectiveClangTriple(Args);
|
| if (ToolChain.getArch() != llvm::Triple::le32)
|
| D.Diag(diag::err_target_unsupported_arch) << ToolChain.getArchName()
|
|
|