aboutsummaryrefslogtreecommitdiff
path: root/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-09-18 08:15:03 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-09-18 08:15:03 +0000
commit6cd4154b9088fa18ae05d11c0f3140fafd76c734 (patch)
tree68a33f9e79878e48300572bd4be29a39ef60f7f2 /lib/Driver/Tools.cpp
parent608d04cb7bee2db28c8689f6626bf9e0b114c473 (diff)
Lift AddLinkRuntimeLibArgs into Darwin tool chain.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82212 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Driver/Tools.cpp')
-rw-r--r--lib/Driver/Tools.cpp45
1 files changed, 2 insertions, 43 deletions
diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp
index f1535d8dc4..66053178e1 100644
--- a/lib/Driver/Tools.cpp
+++ b/lib/Driver/Tools.cpp
@@ -2020,49 +2020,8 @@ void darwin::Link::ConstructJob(Compilation &C, const JobAction &JA,
// link_ssp spec is empty.
- // Derived from libgcc and lib specs but refactored.
- if (Args.hasArg(options::OPT_static)) {
- CmdArgs.push_back("-lgcc_static");
- } else {
- if (Args.hasArg(options::OPT_static_libgcc)) {
- CmdArgs.push_back("-lgcc_eh");
- } else if (Args.hasArg(options::OPT_miphoneos_version_min_EQ)) {
- // Derived from darwin_iphoneos_libgcc spec.
- if (getDarwinToolChain().isIPhone()) {
- CmdArgs.push_back("-lgcc_s.1");
- } else {
- CmdArgs.push_back("-lgcc_s.10.5");
- }
- } else if (Args.hasArg(options::OPT_shared_libgcc) ||
- // FIXME: -fexceptions -fno-exceptions means no exceptions
- Args.hasArg(options::OPT_fexceptions) ||
- Args.hasArg(options::OPT_fgnu_runtime)) {
- // FIXME: This is probably broken on 10.3?
- if (getDarwinToolChain().isMacosxVersionLT(MacosxVersionMin, 10, 5))
- CmdArgs.push_back("-lgcc_s.10.4");
- else if (getDarwinToolChain().isMacosxVersionLT(MacosxVersionMin,
- 10, 6))
- CmdArgs.push_back("-lgcc_s.10.5");
- } else {
- if (getDarwinToolChain().isMacosxVersionLT(MacosxVersionMin, 10, 3, 9))
- ; // Do nothing.
- else if (getDarwinToolChain().isMacosxVersionLT(MacosxVersionMin,
- 10, 5))
- CmdArgs.push_back("-lgcc_s.10.4");
- else if (getDarwinToolChain().isMacosxVersionLT(MacosxVersionMin,
- 10, 6))
- CmdArgs.push_back("-lgcc_s.10.5");
- }
-
- if (getDarwinToolChain().isIPhone() ||
- getDarwinToolChain().isMacosxVersionLT(MacosxVersionMin, 10, 6)) {
- CmdArgs.push_back("-lgcc");
- CmdArgs.push_back("-lSystem");
- } else {
- CmdArgs.push_back("-lSystem");
- CmdArgs.push_back("-lgcc");
- }
- }
+ // Let the tool chain choose which runtime library to link.
+ getDarwinToolChain().AddLinkRuntimeLibArgs(Args, CmdArgs);
}
if (!Args.hasArg(options::OPT_A) &&