diff options
Diffstat (limited to 'lib/Driver/Tools.cpp')
-rw-r--r-- | lib/Driver/Tools.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index eb5c8ab671..1addf4703b 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -3211,6 +3211,9 @@ void linuxtools::Link::ConstructJob(Compilation &C, const JobAction &JA, if (Args.hasArg(options::OPT_rdynamic)) CmdArgs.push_back("-export-dynamic"); + if (Args.hasArg(options::OPT_s)) + CmdArgs.push_back("-s"); + for (std::vector<std::string>::const_iterator i = ToolChain.ExtraOpts.begin(), e = ToolChain.ExtraOpts.end(); i != e; ++i) @@ -3307,6 +3310,9 @@ void linuxtools::Link::ConstructJob(Compilation &C, const JobAction &JA, else if (!Args.hasArg(options::OPT_shared) && D.CCCIsCXX) CmdArgs.push_back("-lgcc"); + if (Args.hasArg(options::OPT_pthread) || Args.hasArg(options::OPT_pthreads)) + CmdArgs.push_back("-lpthread"); + CmdArgs.push_back("-lc"); if (Args.hasArg(options::OPT_static)) |